ホームページ >バックエンド開発 >PHPチュートリアル >仮想ホストserver_PHPチュートリアルの無効化されたphp fsockopen関数に対する解決策の簡単な分析
1. fsockopen() を無効にする方法
以下は、fsockopen を無効にするためによく使用される 2 つの方法です。
1. php.ini を変更し、disable_functions = の後に fsockopen を追加します。
2. php.ini を変更し、allow_url_fopen = On を allow_url_fopen = Off に変更します。
2. fsockopen 関数が無効になる問題の解決方法
1. サーバーが同時に pfsockopen を無効にしない場合は、fsockopen 関数を pfsockopen に直接置き換えます。 具体的な操作: プログラム内で文字列 fsockopen( を検索し、 pfsockopen( に置き換えます。例は次のとおりです
変更前:
$fp = fsockopen($host, 80, $errno, $errstr, 30 );
後の変更:
$fp = pfsockopen($host, 80, $errno, $errstr, 30);
2. サーバーも pfsockopen を無効にする場合は、代わりに stream_socket_client( など) の他の関数を使用します。注: stream_socket_client() と fsockopen() には異なるパラメーターがあります。 具体的な操作: プログラム内の文字列 fsockopen( を stream_socket_client() に置き換えて、元の fsockopen 関数のポート パラメーター "80" を削除して追加します。例は次のとおりです。
$fp = fsockopen($host, 80, $errno, $errstr, 30);
$fp = stream_socket_client( $host."80", $errno, $errstr, 30);
3. PHP バージョンが 5.0 より低く、fsockopen が無効で、実装する関数が存在しない場合はどうすればよいですか? fsockopen 関数:
コードをコピーします
コードは次のとおりです: