ホームページ >バックエンド開発 >PHPチュートリアル >HTTPS にアクセスすると、curl_exec が 502 エラーを返す問題を解決するには、ソース コードから PHP5.5.0 をコンパイルしてインストールします。
最近、PHP がcurl_execを使用してHTTPS Webページにアクセスすると、502エラーが返されます。opensslとcurlをサポートしています。インターネット上で多くの情報を見つけましたが解決しませんでした。
[root@www ~]# php -VFailed loading /usr/local/zend/ZendOptimizer.so: /usr/local/zend/ZendOptimizer.so: undefined symbol: zend_throw_exception_internalPHP Warning: PHP Startup: memcache: Unable to initialize moduleModule compiled with module API=20060613PHP compiled with module API=20090626These options need to match in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so: undefined symbol: zend_parse_parameters_none in Unknown on line 0
#php -V を使用して表示すると、openssl.so のロードに失敗したことが示されており、openssl ライブラリに関連しているようです。 openssl ライブラリを再インストールしましたが、問題は解決しません。 その理由は、openssl ライブラリが zend を使用しているためです。上記のプロンプトを見ると、zend ライブラリもエラーを報告していることがわかります。 これに対処するには、おそらく zend ライブラリを再インストールする必要があります。 問題はありませんが、ソース コードから直接 php をコンパイルすることは許可されていません。そのまま実行してください。
: PHP 5.5.0.tar.gz でダウンロード 得られる質問も異なります。
1. エラーが発生しました xpm.h が見つかりません
# yum install libXpm-devel // x は大文字であることに注意してください
# yum install libXext-devel // .h が見つからないことに注意してください#yum install gmp-devel
3. エラーが発生しました: utf8_mime2text() には新しい署名がありますが、U8T_CANONICAL がありません これは起こらないはずです
#yum install libc-client-devel
4.エラーが発生しました: ICU プレフィックスまたは /usr/bin/icu-config を検出できませんでした
#yum install libicu*
#yum install icu*
5 エラーが発生しました: ODBC ヘッダー ファイル '/usr/ include/sqlext.h' が見つかりません
#yum install unixODBC-devel
#yum install aspell-devel
7 が見つかりません、エラーが発生しました: recode.h が見つかりません/usr /usr/local /usr /opt のどこかに net-snmp-config binary
#yum install net-snmp-devel
9 が見つかりません。
#yum install libtidy-devel
古い php を使用しています。検索したところ、古い php のディレクトリは /usr/local/bin/php でした。新しくインストールしたphpのディレクトリは/usr/bin/phpです
変更できます/etc/profile ファイルを作成し、ファイルの最後の行を次のように入力します:
次のように変更します
# cd /etc
# ソースプロファイル プロファイルファイルをリロードします