想像の100倍ディープ!岡山鍾乳洞探検記(満奇洞・井倉洞)
2025.11.28
ハジメクリエイト社員による、日々の業務やトレンド、日常のアレコレについてお届けします。
2025.11.28
2025.11.13
2025.11.06
Laravel2025.01.15
Chief Engineer Sho Tsukamoto
2023年4月入社。Web職人のたまごです。 最近はもっぱらコーディングすることは少なく、LaravelやReact Nativeを用いたシステム開発をメインとしています。
38
81
102
134
189
どうもこんにちは塚本です。
今回はXserverを使う方々の悩みであるディレクトリ毎のPHPバージョン変更について備忘録を残します。
https://hajimecreate.com/labo/change_php_ver_by_directory/
実は同じようなブログを過去に書いていましたが、今回はターゲットを
Laravelに限定して書いてみようと思います。手順
おおまかな手順は以下の4つです。
1. エックスアクセラレータの無効化
2. ディレクトリのパーミッション変更
755に変更してください。3. 必要ファイルの設置
該当ディレクトリに以下の2ファイルを設置してください。
Laravelの標準ディレクトリパターンを想定しています。
※ 注意点
改行コードは
CR+LFではなく、LFにしてください。ドキュメントルート
.htaccessの設置
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Always SSL RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} -d [OR] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ ^$1 [N] RewriteCond %{REQUEST_URI} (\.\w+$) [NC] RewriteRule ^(.*)$ public/$1 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ public/index.php </IfModule>public以下
.htaccessへ追記
もともと入っている
public/.htaccessに追記してください。パーミッションはデフォルトのままでOKです。
# ここから AddHandler myphp-script .php .fphp Action myphp-script "/public/php.fcgi" # ここまで追記 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>php.fcgiの追加
パーミッションは
755に変更してください。使いたいPHPバージョンに合わせてください。
#!/usr/bin/sh exec /usr/bin/php-fcgi8.2※ 以下の
詳細をクリックするとPHPバージョンのパス一覧が確認できます。PHPのパス一覧
4. 待つ
すぐにバージョンが変わらない場合があります。
5分ほど、コーヒーでも飲んで待ってみてください。
まとめ
Laravelの場合は
publicディレクトリ以下にcgiを設置してください。以下にソースコードを共有しますので、うまくいかない方は参考にしてみてください。
https://github.com/Hajimecreate/Switch-PHP-ver-of-Xserver-by-directory-In-Laravel