ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
CLI で確認
# 標準
php --version
# PHP 8.2.10 (cli) (built: Aug 31 2023 13:53:39) (NTS)
# Copyright (c) The PHP Group
# Zend Engine v4.2.10, Copyright (c) Zend Technologies
# 短縮形
php -v
# パス確認(Linux/Mac)
which php
# /usr/bin/php
ls -la $(which php)
# Windows
where php
Web 経由で確認
<?php
// 方法 1: phpinfo() で詳細情報全表示
// (★ 本番では絶対に残さない!情報漏洩リスク)
phpinfo();
// 方法 2: phpversion() で値だけ取得
echo phpversion(); // 8.2.10
// 方法 3: 定数
echo PHP_VERSION; // 8.2.10
echo PHP_MAJOR_VERSION; // 8
echo PHP_MINOR_VERSION; // 2
echo PHP_RELEASE_VERSION; // 10
echo PHP_EXTRA_VERSION; // (空 or RC1 等)
echo PHP_VERSION_ID; // 80210 (= 80000+200+10)
定数の中身
| 定数 | 例(8.2.10 の場合) | 用途 |
|---|---|---|
PHP_VERSION | "8.2.10" | 文字列表現 |
PHP_MAJOR_VERSION | 8 | メジャー |
PHP_MINOR_VERSION | 2 | マイナー |
PHP_RELEASE_VERSION | 10 | パッチ |
PHP_EXTRA_VERSION | "" | "alpha1" "RC2" 等 |
PHP_VERSION_ID | 80210 | 数値比較用 ★ |
PHP_OS | "Linux" | OS 名 |
PHP_OS_FAMILY | "Linux" | OS 系統 (Windows/Linux/Darwin/BSD/Solaris/Unknown) |
PHP_INT_SIZE | 8 | int サイズ(32bit=4, 64bit=8) |
PHP_INT_MAX | 9223372036854775807 | int 最大値 |
バージョン比較
<?php
// version_compare(): 推奨。文字列比較なので 10 > 9 もOK
if (version_compare(PHP_VERSION, '8.0.0', '>=')) {
echo "PHP 8 以上で動作中";
}
if (version_compare(PHP_VERSION, '7.4.0', '<')) {
die("PHP 7.4 以上が必要です");
}
// PHP_VERSION_ID で高速比較
if (PHP_VERSION_ID >= 80100) {
// PHP 8.1+ 専用機能を使う
enum Status { case Active; case Inactive; }
}
// ❌ ダメな例: 文字列比較
if (PHP_VERSION >= '7.10.0') {
// "8.0.0" < "7.10.0" になる(先頭文字比較)
}
php.ini と SAPI の確認
# 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 ...
# 有効モジュール一覧
php -m
# 詳細情報(CLI から phpinfo)
php -i | head -30
# 特定設定値
php -r 'echo ini_get("memory_limit");' # 128M
php -r 'echo ini_get("upload_max_filesize");'
Composer 経由の確認
# Composer が認識している PHP
composer show -p
# +-------------------------------+--------+
# | name | version|
# +-------------------------------+--------+
# | php | 8.2.10 |
# | php-64bit | 8.2.10 |
# | ext-json | 8.2.10 |
# | ... | ... |
# +-------------------------------+--------+
# プロジェクトの composer.json で要件を確認
cat composer.json | grep -A 2 '"require"'
# "require": {
# "php": ">=8.1",
# 整合性チェック
composer check-platform-reqs
Web Server(Apache / Nginx + PHP-FPM)の PHP
★ CLI で見える PHP と Web Server が使う PHP は別の可能性があります。
<?php
// info.php として配置(★ アクセス後すぐ削除)
echo "PHP Version: " . PHP_VERSION . "\n";
echo "SAPI: " . PHP_SAPI . "\n";
// CLI: "cli"
// Apache mod_php: "apache2handler"
// PHP-FPM: "fpm-fcgi"
// 内蔵サーバ: "cli-server"
echo "Loaded INI: " . php_ini_loaded_file() . "\n";
phpinfo();# Apache + mod_php のバージョン
apache2ctl -M | grep php # Linux
httpd -M | grep php # 一部ディストリ
# PHP-FPM のバージョン
php-fpm -v
/usr/sbin/php-fpm8.2 -v # フルパス
# Nginx の PHP 設定ファイル
grep -r "fastcgi_pass" /etc/nginx/
# fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
# ↑ ここで使われている FPM のバージョンが Web 経由の PHP
複数バージョン共存
# Ubuntu / Debian の場合
update-alternatives --display php
update-alternatives --config php
# 番号入力で切替
# Mac (Homebrew)
brew install php@8.1 php@8.2 php@8.3
brew link --overwrite --force php@8.2
brew unlink php@8.2 && brew link php@8.3
# 各バージョンを直接呼ぶ
/usr/bin/php7.4 -v
/usr/bin/php8.0 -v
/usr/bin/php8.2 -v
phpenv / phpbrew で柔軟管理
# phpenv: rbenv ライクなバージョン管理
phpenv install 8.2.10
phpenv versions # 一覧
phpenv global 8.2.10 # 全体デフォルト
phpenv local 8.1.20 # ディレクトリローカル(.php-version ファイル生成)
# phpbrew: より柔軟な切替
phpbrew install 8.2.10 +default +mysql +pdo
phpbrew use php-8.2.10
phpbrew switch php-8.2.10 # 永続切替
# Docker でバージョン分離(推奨)
docker run --rm -it php:8.2-cli php -v
docker run --rm -it php:8.1-fpm php -v
シェル関数で簡単確認
# ワンライナーで全部表示
php -r 'echo PHP_VERSION . PHP_EOL . PHP_SAPI . PHP_EOL . php_ini_loaded_file() . PHP_EOL;'
# JSON 形式で
php -r 'echo json_encode([
"version" => PHP_VERSION,
"version_id" => PHP_VERSION_ID,
"major" => PHP_MAJOR_VERSION,
"sapi" => PHP_SAPI,
"ini" => php_ini_loaded_file(),
"extensions" => get_loaded_extensions(),
], JSON_PRETTY_PRINT);'
FAQ
Q: php -v で出るバージョンと Web のバージョンが違う
A: CLI と Web (mod_php / PHP-FPM) で別バイナリが使われています。phpinfo() をブラウザで開いてサーバ側を確認してください。
Q: バージョン要件を満たさない場合の挙動
A: Composer は require php を満たさないと composer install 失敗。Laravel など主要フレームワークは起動時にチェックして RuntimeException を投げます。
Q: phpinfo() を本番に置きっぱなしは危険?
A: ★ 非常に危険。open_basedir / session.save_path / DB 接続文字列まで露出します。デバッグ後即削除、expose_php = Off も php.ini で設定推奨。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- インストール方法
- 文法
- Composerのインストール
- 内部関数
- フレームワーク
- エラー一覧
- 改行出力
- printとechoの違い
- シングルクォートとダブルクォートの違い
- returnとyieldの違い
- var_dumpをログ出力
- CSV読み込み
- 待機・処理の遅延
- ログファイルにエラーを出力する方法
- エラーログ出力関数
- URLパラメータの配列化
- empty, is_null. issetの判定比較表
- httpステータスコードの付与
- バージョンの確認
- php.ini
- APIを呼び出す方法
- 外部ファイルを呼び出す方法
- カンマ区切りの文字列を配列に変換
- 配列からランダムに値を取り出す方法
- Webスクレイピング
人気ページ
- 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
コメントを削除してもよろしいでしょうか?