タイトル: コメントアウトの仕方
SEOタイトル: php.ini のコメントアウト記法|セミコロン ; / .ini ファイル共通
| この記事の要点 |
|
php.ini のコメントアウト
php.ini でコメントアウトするにはセミコロン ; を使います。INI ファイル仕様に従ったコメント形式です。
; これはコメント行(INI 形式)
; メモリ上限を 512MB に設定
memory_limit = 512M
; 以下は元の設定(コメントアウトで一時的に無効化)
; memory_limit = 128M
行末コメントは不可
PHP コードでは // # /* */ がコメントですが、php.ini はこれらすべて使えません。行末にコメントを付けようとすると設定値の一部と認識されてエラー:
; ❌ NG: 行末コメントは値の一部として認識
memory_limit = 512M // 512MB に拡張
; ❌ NG: # はコメントにならない
memory_limit = 512M # 説明
; ✅ OK: コメントは別行に
; メモリ上限を 512MB に拡張
memory_limit = 512M
セクション分割
INI 形式では [セクション名] でグルーピングします(php.ini ではあまり使わないが他 INI で重要):
; PHP コア設定
[PHP]
memory_limit = 512M
max_execution_time = 300
; MySQL 拡張
[MySQLi]
mysqli.default_host = localhost
; Date 拡張
[Date]
date.timezone = Asia/Tokyo
変更後の再起動
php.ini はプロセス起動時にしか読み込まれないため、変更を反映するには関連サーバの再起動が必要:
# Apache (mod_php) の場合
sudo systemctl restart apache2 # Ubuntu / Debian
sudo systemctl restart httpd # CentOS / RHEL
# Nginx + PHP-FPM の場合
sudo systemctl restart php8.2-fpm # PHP のバージョンによる
# php.ini 変更したのに反映されない時の確認:
# 1. 編集した php.ini が実際に読まれているか
# 2. 再起動忘れ
# 3. APC / OPcache のキャッシュ
使用中の php.ini を特定
サーバ環境では複数の php.ini が存在することがあるため、どれが効いているかを確認:
# コマンドライン
php --ini
# 出力例:
# Configuration File (php.ini) Path: /etc/php/8.2/cli
# Loaded Configuration File: /etc/php/8.2/cli/php.ini
# Scan for additional .ini files in: /etc/php/8.2/cli/conf.d
# Additional .ini files parsed: /etc/php/8.2/cli/conf.d/10-opcache.ini,
# /etc/php/8.2/cli/conf.d/20-mysqli.ini
# ★ CLI と Apache / FPM は別の php.ini を使う
# CLI: /etc/php/8.2/cli/php.ini
# FPM: /etc/php/8.2/fpm/php.ini
# Apache: /etc/php/8.2/apache2/php.ini
# Web 経由で確認 (phpinfo.php を作成)
# → "Configuration File (php.ini) Path" を確認
conf.d 配下の追加 .ini
多くの Linux ディストロでは php.ini 本体ではなく conf.d/ 配下に拡張ごとの設定ファイルが分割されています:
/etc/php/8.2/fpm/
├── php.ini ← メイン
├── php-fpm.conf ← FPM プール設定
└── conf.d/
├── 10-opcache.ini ← OPcache
├── 20-mysqli.ini ← MySQLi
├── 20-pdo.ini ← PDO
├── 20-curl.ini ← cURL
└── 99-local.ini ← サイト固有上書き
カスタム設定は php.ini 本体ではなく conf.d/99-local.ini 等に書くのがメンテナンス的に安全(OS アップデートで php.ini が上書きされても残る)。
よくある php.ini 設定
; ===== 一般 =====
memory_limit = 512M
max_execution_time = 300
max_input_time = 60
; ===== ファイルアップロード =====
upload_max_filesize = 20M
post_max_size = 25M
max_file_uploads = 20
; ===== エラー表示 =====
display_errors = Off ; 本番では Off
log_errors = On
error_log = /var/log/php_errors.log
; ===== 文字コード =====
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
; ===== タイムゾーン =====
date.timezone = "Asia/Tokyo"
; ===== セッション =====
session.cookie_secure = 1 ; HTTPS のみ
session.cookie_httponly = 1
session.cookie_samesite = "Lax"
; ===== OPcache =====
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 2
他 INI ファイルでも同じルール
セミコロン ; がコメントの INI 形式は以下のファイルでも使われます:
- my.cnf / my.ini (MySQL) —
;または#両方可 - php-fpm.conf — php.ini と同じ
; - desktop.ini (Windows) —
; - setup.cfg / setup.ini (Python パッケージ) —
;または# - tox.ini (Python テスト) —
;または#
関連
- php.ini 構文エラー — 起動ログに「PHP Warning: PHP Startup: Invalid ...」と出る
- ini_set() で実行時変更 — 一時的な設定変更は PHP コード内で
ini_set('memory_limit', '1G') - .user.ini — Apache + suPHP / PHP-FPM 環境で、ディレクトリ毎の上書きが可能
- htaccess — mod_php 環境では
php_value memory_limit 512Mで上書き可能