ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
php.ini とは
php.ini は PHP の動作設定を記述するファイルです。タイムゾーン、メモリ制限、エラー表示、拡張モジュール読み込み、文字エンコーディングなど、PHP 全体の挙動を制御します。場所は OS / SAPI / インストール方法によって異なるため、まず正しいファイルパスを特定することが設定変更の第一歩です。
1. CLI から確認する基本コマンド
php -r "echo phpinfo();" | grep "php.ini"
出力例:
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
| 項目 | 意味 |
|---|---|
| Configuration File (php.ini) Path | PHP が php.ini を探すディレクトリ |
| Loaded Configuration File | 実際に読み込んだ php.ini のフルパス(これが本物) |
(none) | 読み込まれていない — 設置場所が誤っている |
2. もっと手軽な php --ini
php --ini
出力例:
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/20-curl.ini,
/etc/php.d/20-gd.ini,
/etc/php.d/30-mysqli.ini
--ini なら追加で読み込まれる conf.d 配下の .ini 一覧まで確認できる、もっとも便利なコマンドです。
3. Web 経由で確認 (phpinfo)
Web サーバ経由の PHP(Apache + mod_php / Nginx + PHP-FPM)が読む php.ini は CLI とは別物のことが多いため、Web 側からも別途確認します。
<?php
// info.php として配置し、ブラウザで開く
phpinfo();
ページ上部の「Loaded Configuration File」に Web SAPI が読んでいる php.ini のフルパスが表示されます。
セキュリティ注意: phpinfo() は環境情報を多く露出するため、本番では確認後すぐ削除してください。
4. SAPI 別の php.ini の例
| SAPI / 環境 | 典型的な場所 |
|---|---|
| CLI (Linux) | /etc/php.ini または /etc/php/<ver>/cli/php.ini |
| PHP-FPM (Debian/Ubuntu) | /etc/php/<ver>/fpm/php.ini |
| Apache mod_php (Debian/Ubuntu) | /etc/php/<ver>/apache2/php.ini |
| RHEL / CentOS | /etc/php.ini(CLI / FPM 共通のこと多) |
| macOS (Homebrew) | /usr/local/etc/php/<ver>/php.ini または /opt/homebrew/etc/php/<ver>/php.ini |
| Windows (XAMPP) | C:\xampp\php\php.ini |
| Windows (公式) | C:\php\php.ini または %SystemRoot%\php.ini |
| Docker 公式 php イメージ | /usr/local/etc/php/php.ini(既定は php.ini-production をコピーして利用) |
5. (none) と表示されるとき
Loaded Configuration File が (none) になる場合、PHP は php.ini を 1 つも読み込んでいません。原因として:
- そのディレクトリに
php.iniファイルが存在しない(雛形はphp.ini-development/php.ini-production) - パーミッションで PHP プロセスが読めない
- SAPI が想定と違うパスを見ている —
Configuration File Pathを確認
6. 雛形ファイルから生成
初期インストール時は php.ini-production / php.ini-development しか入っていないことが多いです。本番なら production をコピーします。
cd /etc # CLI 用なら適切な場所
sudo cp php.ini-production php.ini
sudo chmod 644 php.ini
php --ini # 確認
7. 設定変更を反映させる
| SAPI | 反映方法 |
|---|---|
| CLI | 次回 PHP 実行時に即反映 |
| PHP-FPM | systemctl restart php-fpm または service php-fpm reload |
| Apache mod_php | systemctl restart apache2 / httpd |
php.ini を編集しても再起動しない限り Web は古い値を使い続けます。「反映されない」と悩む典型例です。
8. 追加 .ini ファイル(conf.d)
多くのディストリビューションでは、拡張モジュール毎に小さな .ini ファイルを conf.d / php.d 配下に置く運用です。php --ini で全て一覧できます。
ls /etc/php.d/
# 20-curl.ini 20-gd.ini 30-mysqli.ini ...
cat /etc/php.d/20-curl.ini
# ; Enable curl extension
# extension=curl.so
9. PHP のバージョン特定
同じサーバに複数バージョンの PHP が共存している場合、php コマンドがどのバージョンかを先に確認します。
which php
# /usr/bin/php
php -v
# PHP 8.2.18 (cli) (built: ...)
ls /etc/php/ # Debian 系ならバージョン別ディレクトリ
# 7.4 8.1 8.2
10. 環境変数 PHPRC
環境変数 PHPRC を設定しておくと、PHP はそのパスから php.ini を探します。デプロイ環境のカスタマイズ手段として有用です。
export PHPRC=/opt/myapp/config
php --ini
# Configuration File (php.ini) Path: /opt/myapp/config
FAQ
Q: php.ini を編集しても変わらない
A: 大半は再起動忘れ(FPM / Apache)か、別 SAPI の php.ini を編集してしまっています。phpinfo() で見えるパスを必ず確認してください。
Q: ホスティングサービスで php.ini が編集できない
A: 多くの共用サーバでは .user.ini を Web ルートに置けば一部設定を上書きできます。許可されているディレクティブは契約プラン毎に異なるため、提供元のドキュメントを確認。
Q: Docker で php.ini を差し替えたい
A: 公式 php イメージなら /usr/local/etc/php/php.ini にホスト側ファイルをマウント。あるいは /usr/local/etc/php/conf.d/zz-myapp.ini として追記分だけ差し込むのが Dockerfile 的に綺麗です。
関連
- phpinfo — PHP の設定情報を表示する関数
- php-fpm — FastCGI Process Manager
- .user.ini — ディレクトリ単位の追加設定
- extension — 拡張モジュールの読み込み設定
- memory_limit / upload_max_filesize — よく変更される設定値
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- ファイルの場所
- コメントアウトの仕方
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?