まず php 設定ファイルを見てください。このパスの下にあります
[root@zhangmengjunlinux ~]# vim /usr/local/php/etc/php.ini
場所がわからない場合は、確認方法
[root@zhangmengjunlinux ~]# /usr/local/php/bin/php -i |head
phpinfo()
PHP バージョン => 5.3.27
システム => Linux zhangmengjunlinux.com 2.6.32-573.el6.i686 #1 SMP 木 7 月 23 日 12:37:35 UTC 2015 i686
ビルド日 => 2015 年 12 月 26 日 22:16:02コマンドを設定=> ' ./configure' '--prefix=/usr/local/php' '-with-apxs2=/usr/local/apache2/bin/apxs' '-with-config-file-path=/ usr/local/ php/etc' '--with-mysql=/usr/local/mysql' '--with-libxml-dir' '--with-gd' '--with-jpeg-dir' '-- with-png-dir' '--with-freetype-dir' '--with-iconv-dir' '--with-zlib-dir' '--with-bz2' '--with-openssl' '-- with-mcrypt' '--enable-soap' '--enable-gd-native-ttf' '--enable-mbstring' '--enable-sockets' '--enable-exif' '--disable-ipv6'
コマンドラインインターフェイス
仮想ディレクトリサポート =>
設定ファイル (php.ini) パス => /usr/local/php/etc
ロードされた設定ファイル => /local/php /etc/php.ini
このコマンドも phpinfo です。 呼び出された php ファイルがどこにあるかがわかります
ロードされた設定ファイル => /usr/local/php/etc/php.ini
次に、 php を設定するには、その設定ファイルを変更する必要があります
[root@zhangmengjunlinux ~]# vim /usr/local/php/etc/php.ini
この php はコメント記号として「;」を使用しており、シェル# を使用すると、おそらく一般的に使用される構成がたくさんあります。まず、最初の
disable_functions =eval、assert、popen.passthru、escapeshellarg、escapeshellcmd、passthru、exec、system、chroot、scandir、chgrp、chown、escapeshellcrnd です。 、escapeshellarg 、shell_exec、proc_get_status、ini_alter、ini_restore、dl、pfsockopen、openlog、syslog、readlink、symlink、leak、popepassthru、stream_socket_server、popen、proc_open、proc_close
disable_functions デフォルトでは空で、いくつかの機能が無効になります。セキュリティ上、いくつかの高リスク機能を無効にする必要があります。その意味を確認するには、公式ドキュメントを確認してください。
2 番目の設定: エラー ログ、関連する検索キー /display_errordisplay_error= off はデフォルトでは off です。on に変更すると、ページ、つまりブラウザーがアクセスしたページにいくつかのエラー メッセージが表示されます。
その後、意図的に php スクリプトを間違って作成しました
この行 aaaaaaa は php によって認識されません。保存して終了します
ブラウザを更新して見てみましょう。エラー メッセージが表示されます。プロンプトに従って確認できます。スクリプトで何が問題になったのでしょうか?
次に、display_error=on を off に変更して更新すると、どこにエラーが表示されなくなります。この時点で問題が発生した場合はどうすればよいでしょうか? もちろん、状況がわからない場合は、display_error を開いてステータス コードを確認し、F12 キーを押して更新します。エラー 500。curl を使用してテストすることもできます。通常、display_error=on をオンにすると、エラー メッセージが他の人に表示されることになります。そこで、最初に、display_error= を設定します。 off にして、php エラー ログを開きます (log_error=on)。off の場合は on に変更し、特定の error_log が存在するパスを定義しましょう
error_log=/usr/local/php/logs/php_error_log
それから、まずパスが存在するかどうかを確認しましょう
[root@zhangmengjunlinux ~] # ls /usr/local/php/logs/
[root@zhangmengjunlinux ~]# mkdir /usr/local/php/logs /
[root@zhangmengjunlinux ~]# ls /usr/local/phpp/logs
ls: /usr/local にアクセスできません/phpp/logs: そのようなファイルまたはディレクトリはありません
[root@zhangmengjunlinux ~]# chmod 777 /usr/local/php/logs/
そのようなディレクトリが存在しない場合は、ディレクトリを作成し、そのディレクトリを変更しますエラー ログのユーザーは Apache であるため、書き込み可能にする必要がありますが、その後、ログ形式と 3 番目のログ レベルを設定する必要があります
error_reporting = E_ALL & ~E_NOTICE。
保存して終了し、Apache をリロードします
[root@zhangmengjunlinux ~]# ls /usr/local/php/logs/
[root@zhangmengjunlinux ~]# !vim
vim /usr/local/php/etc/ php.ini
[root@zhangmengjunlinux ~]# apachectl restart
[root@zhangmengjunlinux ~]# vim /data/www /forum.php
[root@zhangmengjunlinux ~]# apachectl restart
[root@zhangmengjunlinux ~ ]# ls /usr/local/php/logs/
php_errors.log
[root@zhangmengjunlinux ~]# cat / usr/local/php/logs/php_errors.log
[02-Jan-2016 16:05:11 Asia/Chongqing] PHP 解析エラー: 構文エラー、/data/www/forum.php の 11 行目に予期しない T_STRING があります
次に、ブラウザ ページを更新します。情報は見つかりませんが、/usr/local/php/logs/ に php_error.log にログが生成されます。これを実行すると、エラー メッセージがあることがわかります。これは、php エラー ログを開く方法です。情報の公開ではありません
いくつかの例を挙げると、open_basedir は Web サイトにアクセスする必要があり、/data/www などのパスが定義されています。ウェブサイトに何らかのアクセス許可がある場合、犯罪者はトロイの木馬をアップロードでき、トロイの木馬はサーバー上のいくつかの情報 (ディレクトリやファイルなど) を取得できます。この場合、Web サイトは /data/www の下にあるため、アクセス許可を特定のディレクトリに制限する必要があります。やり方は、このオプションを使うだけですopen_basedir=/data/www:/tmp、まずエラーを表示させてopen_basedir=/data/www2:/tmp
保存して終了し、Apacheをリロードして、ブラウザが起動したらF12 を開くと、再び白いページになります。PHP ではこれを実行できます。各仮想ホストには open_basedir が使用されます。設定方法はとても簡単です
#vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
php_admin_value open_basedir "/data/www/:/tmp/"
を置くことができますphp.ini の open_basedir コメントアウトされています。必要なものは Apache にあります。その利点は、さまざまな仮想ホストを区別できることです