#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューターphp コードセキュリティ phpinfo() が出てこない問題の解決策: まず php.ini ファイルを開き、「short_open_tag」項目を見つけて「short_open_tag = On」に設定し、次に Apache を再起動します。そしてphp.iniサービスをリロードするだけです。
1。問題の説明
PHP ファイル test.php を作成しました。コードは次のとおりです。<?php echo phpinfo(); ?>ブラウザーはそれにアクセスしましたが、NULL を返しました。
##2. 問題の場所と解決策 オンラインで調べたところ、ほとんどの人が遭遇している問題は、実際には short_open_tags の問題であることがわかりました。 、そのコードは次のとおりです:
<? echo phpinfo(); ?>解決策:
この場合、php.ini ファイルを開いて「short_open_tag」を見つけ、コメントする必要があります。 line short_open_tag = Off Off にしてから開きます; short_open_tag = On で十分です、その後 Apache を再起動し、php.ini サービスをリロードすれば問題ありません。
ここにはさらに 2 つの質問があります。1 つは、php の実行時にどの php.ini ファイルが読み込まれるかを知る方法です。コマンド ラインで php --ini を実行して、php を見つけることができます。 .ini ファイル; 2 番目は、php.ini ファイルを再ロードする方法です。サーバーで php-fpm が有効になっている場合、一般的に、php-fpm を再起動しても問題ありません。コマンドは次のとおりです: service php-fmp restart. php -fpm サービスが有効になっていません (PHP の以前のバージョン)。通常、Apache サービスを再起動しても問題ありません。コマンドは service httpd restart です。
上記の手順を実行すると、ほとんどの人が遭遇する問題は解決しますが、これは他人の問題であり、私の問題ではありませんorz...
どうしようもなく、これは関連しているに違いないと感じましたphp の設定がわからないので、公式 Web サイトにアクセスして php.ini ドキュメントを読んだところ、次のような設定になっています:
disable_functions string
このコマンドを使用すると、セキュリティ上の理由から特定の機能を禁止できます。カンマ区切りの関数名のリストを引数として受け入れます。 disable_functions はセーフ モードの影響を受けません。このディレクティブは php.ini でのみ設定できます。たとえば、httpd.conf
では設定できません。つまり、一部のメソッドは php.ini で設定できますが、これらのメソッドを呼び出すことはできません。php.ini を開いてこの設定を見つけてください。案の定、phpinfo() メソッドは次のように Disabled になっています:
disable_functions = phpinfo,system,proc_open,proc_close,show_source,popen,pclose
突然気づき、disable_functions から phpinfo() メソッドを一時的に削除し、php.ini ファイルをリロードしてから、test.php にアクセスしました。ブラウザから再度アクセスすると、今度は成功しました。はい、問題は解決しました。ただし、phpinfo() は非常に機密情報であることを友人に思い出してもらいたいため、通常はクライアントに公開しないことが最善であるため、テスト後すぐにオフにしました。
推奨学習: 「
以上がphpinfo() が PHP コードのセキュリティから抜け出せない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。