0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHPのディレクティブとは

Posted at

そもそもディレクティブとは

コンパイル時にコンパイラーに与える補足情報

phpのディレクティブとは

PHPの動作や挙動を制御するための設定項目

php.ini などの設定ファイルに記述され、PHP本体や拡張モジュールの動作パラメータを指定・調整ができる。
ディレクティブは、メモリ使用量やエラーレポートの挙動、拡張モジュールの有効化ができる。

動作のカスタマイズ: PHP環境全体や特定のスクリプト・ディレクトリ単位での挙動を変更することができる

どのようなことができるのか

  • 各種PHP設定値(memory_limit, display_errors, include_pathなど)の指定
  • 拡張モジュールごとの設定変更
  • サーバー設定(Apacheのphp_value/php_flagなど)を通じたディレクトリ単位や仮想ホスト単位での動作調整
  • スクリプト内で ini_set() 関数を用いた動的な設定変更

ディレクティブの設定場所と変更方法

最初に読み込まれるのは主設定ファイル php.ini で、PHP起動時に読み込まれてから、スキャンディレクトリ内の拡張設定ファイル(.ini ファイル)や各ディレクトリの .user.ini を読み込んで設定を上書き・追加できるようになる。

Apache設定ファイルや.htaccessApacheモジュールとして動作する場合、.htaccesshttpd.conf を用いてPHP設定を変更可能。具体的には php_value, php_flag, php_admin_value, php_admin_flag などのディレクティブを使用。

ディレクティブの種類と変更可能な範囲

ディレクティブには、それぞれ設定可能な範囲やタイミングが定められていて、「INIモード」と呼ばれ、以下のように分類分けされる

  • INI_USER: スクリプト内(ini_set())やユーザー定義ファイル(.user.ini)で変更可能
  • INI_PERDIR: php.ini、.htaccess、httpd.conf、.user.ini などで設定可能
  • INI_SYSTEM: システム全体の設定ファイル(php.ini、httpd.conf)でのみ設定可能
  • INI_ALL: どこからでも変更可能(スクリプト内も含む)

参考

https://www.php.net/manual/ja/configuration.php
https://www.php.net/manual/ja/configuration.file.php
https://www.php.net/manual/ja/configuration.file.per-user.php
https://www.php.net/manual/ja/configuration.changes.modes.php
https://www.php.net/manual/ja/configuration.changes.php

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?