ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?