1

XAMPP/Win10、PHP 7.0.1 を実行しています。GitHub からSocrata/soda-phpを取得し、 index.phpを実行しました。ファイルに変更を加えませんでした。

フォームを送信すると、常にError "0" from server:他の情報が表示されません。私のPHPエラーログには何もありません。

問題なくJSON 出力に直接アクセスできます。クライアント側の JavaScript で取得して解析することもできます。

同じ問題で別の質問を確認しましたが、それは別のデータセットだったので、答えは当てはまりませんでした。cURL を有効にするというその質問に関する提案も確認しました。確認しました。

CMS からデータにアクセスするためにこの PHP の例を使用したいと考えています (これは既に JavaScript で行っています) が、次のステップを独学で学べるように、最初にそのまま動作させる必要があります。

4

1 に答える 1

3

で問題がないことを確認するためにsoda-ruby、いくつかのローカル テストを行ったところ、サンプルが PHP 7.0.3 ( CLI サーバー、homebrew 経由で新しくインストールされたもの) で問題なく動作することができました。

その場所の危険な犬が明らかに移動したため、サンプル コードはゼロの結果を返しました。そのため、デフォルトの場所と検索範囲を更新しました。また、そのデータセットに新しいSODA 2.1 エンドポイントを使用するようにサンプルを更新しましたが、現時点では 2.0 バージョンでも問題なく動作します。そのため、最新の更新を取得して、同期していることを確認してください。

メッセージは実際には自分自身Error "0"から来てlibcurlいます。これは、cURL が との接続にも問題があったdata.austintexas.govことを意味します。これは、多くの場合、PHP/libcurl がリモート サーバーの証明書を信頼していないため、システムが SSL ハンドシェイクを完了できなかったことを意味します。私はこれを Austin のサイトで何度も見てきましたが、多くの場合、Windows ユーザーにも見られます。特に JavaScript を介して同じ API にアクセスできることを考えると、そうではないかと思います。

解決策は、ルート証明書を更新するか、XAMPP にバンドルされていない外部認証局を指定することです。私自身 XAMPP でそれを行ったことはありませんが、確実な答えのように思えます: XAMPP で CURL の SSL サポートを有効にする

提案された修正の 1 つは、SSL 検証を完全に無効にすることもできます。これは、本番環境ではなく、PHP を使用して少しハックするだけであれば問題ありません。ただし、MITM 攻撃にさらされる可能性があるため、本番環境でその回避策を使用しないでください。

于 2016-02-16T19:12:48.067 に答える