1

現在、ウェブアプリをAmazonec2に移動しています。テスト専用なので、WindowsServer2008インスタンスでec2無料利用枠と呼ばれる無料バージョンを使用します。しかし、私は知っていることをすべて行い、このスレッドを読みましたが(PHP / XAMPPでcURLを有効にする方法)。phpスクリプトでcurlを使用できませんでした。2行目のC:\ xampp \ htdocs \ index.phpにある未定義の関数curl_init()の呼び出しというエラーが常に発生します 。 これが私が試したすべてのことです。

  1. Wampをインストールします(XAMPPで試してみました)
  2. php.iniファイルのphp_curlのコメントを解除します(そしてapacheを再起動します
  3. 2つのdllファイルをsystem32とsyswow64の両方にコピーします

それは私が無料のvpsを使用しているという事実と関係がありますか? 更新: また、XAMPPでApacheサーバーを起動すると、このエラーが表示されました'PHPスタートアップ:ダイナミックライブラリcurl.dllを読み込めません'しかし、extディレクトリを再確認し、php_curl.dllがそこにありました。

4

4 に答える 4

1

curlはWebサーバーからリモートサーバーにアクセスする必要があると思います。そのため、サーバーのアウトバウンドルールですべてのトラフィックを開いたところ、機能しました。これは良い解決策ではないと思います。まだより良い方法を探します。

于 2014-10-14T17:22:26.880 に答える
0

いいえ。

ファイルが正しい場所にあることを確認してください。通常は、phpのpluginsフォルダーにあります。php.iniに絶対パスを追加できないかもしれません!必ず、正しいiniファイルを編集してください。

phpはオペレーティングシステムから完全に独立しています!

必ずすべてを再確認してください。それが言っていないので、それはあなたのエクステンションをロードするのに問題があります、それはあなたが呼び出そうとしている関数がそこにないということです。だから私はあなたのエクステンションがまったくロードされていないと思います!:)

于 2012-07-22T09:04:11.207 に答える
0

このcURLプラグインが誤動作することに気付いた理由の1つは、libeay32.dllファイルとssleay32.dllファイルのコピーが利用できることでした。system32フォルダーにそのようなコピーがあるかどうかを確認してください。ある場合は、名前を他の名前に変更し、phpインストールで見つかった名前をコピーしてください。場合によっては、マシンを再起動する必要があります。これは少し前にここに文書化されました。

于 2013-07-23T11:46:43.090 に答える
0

同様の問題が発生しましたが、httpsでのリクエストだけで発生します。ec2マシンから直接curlリクエストを作成しようとしましたが、「curl:(77)証明書の検証場所の設定中にエラーが発生しました」というエラーが発生しました。

証明書が見つからないため、ある種のSSL検証が失敗したようです。そのため、curlコマンドでパラメーター-k(または--insicure)を使用して、この検証を無視しました。その後、curlsリクエストはec2マシンから直接実行されました。

そこで、phpのcurlコマンドに同様のアイデアを適用しようとしました(curl php拡張機能がこのリクエストをオペレーティングシステムに転送すると思いました)。このcurloptを見つけました。

curl_setopt($ ch、CURLOPT_SSL_VERIFYPEER、false);

その後、それは私に働きます。

おそらくこれは問題を解決するための最良の方法ではありませんが、私の問題を一時的に解決しました。

于 2018-11-04T20:26:34.650 に答える