犬ターネット

PHP5.6.13 と PHP7.0.0 の php.ini の比較

2015-12-04 php

diffとってみたけど、非奨励設定が削除された以外は互換性が保たれている印象。実運用時に zend.assertions = -1 設定だけしとけば大丈夫そう。

PHP7.0.0 で削除された設定

asp_tags = Off

ASP 形式のタグ「<% %>」を使えるようにする設定。使った試しがない。

always_populate_raw_post_data = -1

生POSTデータを参照できる $HTTP_RAW_POST_DATA 変数にアクセスする設定。$HTTP_RAW_POST_DATA も削除されたので合わせて削除。生POSTデータを参照するには php://input を使う。

mysql.*

mysql関数関連が全て削除。今後は mysqli関数 または PDO を使う。

sybct.*

Sybase関数関連も全部削除。使ったことないな。

mssql.*

MSSQL関数関連も全部削除。10年くらい前に一瞬つかったことがあったかもしれない。

opcache.load_comments = 1

オペコードキャッシュからドキュメンテーションコメントを読み込むかどうかの設定。常に読みこむことにした模様。

PHP7.0.0 で追加された設定(※右辺がディフォルト値)

pcre.jit = 1

PCRE の just-in-time コンパイルを利用するかどうか。PCRE関数のパフォーマンスの向上が見込めそう。

zend.assertions = 1

実運用時は -1 設定にしておこう。

assert.exception = On

アサーションに失敗した場合に AssertionError 例外を発行するかどうか。PHP5と互換性のある挙動は Off。

opcache.restrict_api = ""

OPcache API 関数の呼び出しを、指定した文字列から始まるパス上の PHP スクリプトからだけに制限する設定。"" 設定にすると特に制限しない。

opcache.mmap_base = ""

Windows 上で共有メモリ・セグメントに使用される基底。すべての PHP 処理は、共有メモリを同じアドレス空間にマップしなければいけません。このディレクティブを使用すると、"Unable to reattach to base address" (基底アドレスに再アタッチできません) というエラーを修復できます。ということだけどよくわからん。

opcache.file_cache = ""

オペコードキャッシュに共有メモリ以外にファイルキャッシュを使う場合のディレクトリを指定。"" 設定にするとファイルキャッシュは使わず共有メモリのみ使う。

opcache.file_cache_only = 0

オペコードキャッシュをファイルキャッシュだけにする設定。

opcache.file_cache_consistency_checks = 1

オペコードキャッシュのファイルキャッシュのチェックサムを確認するかの設定。

opcache.huge_code_pages = 0

HUGE PAGE(※ちょっとわからん。文字通りでかいソースコードのこと?) の PHPコードのコピーを無効にする設定。無効にするとパフォーマンスが改善されるが、適切なOS側設定が必要とのこと。


PHP7.0.0 Windows版を動かす

汗疱なおってきたんだけど深爪になった