【PHP】在安装PHP之后,必要的配置设置
前提
正在CentOS6.5上进行验证操作。
这是一份针对初学者编写的文件。
文件的编写是基于将其用作开发服务器。
由于面向初学者的原因,PHP版本针对的是CentOS默认安装的PHP5.3.3,可以通过yum install安装。
尽管我们知道5.3系列的PHP已经不再有官方支持,但我们仅对没有涉及到设置上重大更改的部分进行了描述。
安装PHP
# yum install php php-devel php-pear php-mbstring php-gd php-mysql php-xml php-mcrypt -y # php関連の基本ファイルをインストール
编辑PHP配置
PHP的设置是通过名为/etc/php.ini的配置文件进行的。
因此,通过编辑名为php.ini的文件,我们将修改PHP的设置。
备份原始的php.ini文件
# cp /etc/php.ini /etc/php.ini.origin # デフォルトで生成されているphp.iniファイルをphp.ini.originというファイル名でコピーファイルを作成
更改错误显示设置
-
- error_reportingの設定を変更(513行目あたり)
-
- error_reporting = E_ALL | E_STRICT (開発環境においてはSTRICTを含めたすべてのレポートをさせる)
-
- display_errorsの設定を変更(530行目あたり)
-
- display_errors = On (エラーがあった際にブラウザなどにエラー内容を表示するように設定)
-
- log_errorsの設定を変更(551行目あたり)
-
- log_errors = On (エラーログを吐く設定を有効にしておく)
-
- error_logの設定を変更(636行目あたり)
- error_log = /var/log/php.log(phpに関連するエラーログを/var/log/php.logに吐くように設定)
文字编码相关的设置
-
- default_charset = “UTF-8”
-
- mbstring.language = Japanese
-
- mbstring.internal_encoding = UTF-8
-
- mbstring.encoding_translation = Off
-
- mbstring.http_input = pass
-
- mbstring.http_output = pass
- mbstring.detect_order = auto
关于内存管理的设置
-
- memory_limit = 32MB
-
- PHPの1プロセスが利用可能なメモリー容量の設定。
-
- post_max_size = 16M
-
- POSTのリクエストを受け付ける際の、最大のPOSTリクエストサイズを設定
-
- upload_max_filesize = 8M
- ファイルアップロードを受け付ける際の、最大のファイル受付サイズを設定
安全设置相关
-
- expose_php = Off
-
- これがOnだとレスポンスヘッダにPHPのバージョン情報などが露呈してしまう
-
- session.hash_function = 1
-
- セッションID発行のハッシュアルゴリズムをSHA-1(160bit)へ変更, 0だとMD5(128bit)。生成されたハッシュを32桁にしたい場合は、併せてsession.hash_bits_per_character = 5とする
-
- session.entropy_file = /dev/urandom
-
- /dev/urandomが存在するときのみ
- session.entropy_length = 32
其他设置
-
- short_open_tag = Off
-
- PHPファイルのタグをのみ利用可能と制限(<? ?>などを使用不可にする)
-
- register_argc_argv = On
-
- バッチのようなコマンドラインプログラムを書く場合は必須の設定
-
- max_execution_time = 30
- PHPプログラムの1つの最大実行時間の設定。これも大きなファイルアップロードや大きいバッチ処理がある場合はプログラム側のini_set()などで随時設定する
读取已更改的设置
因为在php.ini文件中的设置需要通过重新启动Apache来重新加载,所以我们将重新启动Apache。
# service httpd restart
总结
已经安装了PHP,并完成了最基本的配置,作为开发环境使用。
关于详细的配置内容,建议您进行更深入的研究,或参考《Perfect PHP》的第12章等详细内容。