PHPバージョン毎にローカルのPHP開発環境を作るのは面倒だなと思っていました。ふと「あ!モジュールでなくてCGIにすれば、複数バージョン動かせるじゃん!」と今さらながら思い出し、Vagrantで作ってあるUbuntuに環境を構築しました。
早速インストール開始。aptのレポジトリを追加して、PHP-FPMバージョン毎にインストールします。
add-apt-repository ppa:ondrej/phpsudo apt update -y
sudo apt install php5.X php5.X-fpm -y
sudo apt install php7.X php7.X-fpm -y
.
.
- Apache側はバーチャルホストにします。
- バージョン毎の環境が分かり易いようにPHP7X-appなどのフォルダを作っておきます。
- PHP7X-appなどのフォルダ内にそれぞれのアプリを格納します。
- それぞれのアプリに対してバーチャルホスト用のconfを作ります。
バーチャルホスト用のconf作成+Apache2再起動でOK!
- /etc/apache2/sites-available でXXX.confを作成
- a2ensite XXXX.conf で有効化
- systemctl restart apache2
confはこんな感じ。
ServerName my.local
DocumentRoot /var/www/php73-app/my.local
<Directory /var/www/my.local>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex index.php index.html
RewriteEngine On
</Directory>
<FilesMatch \.php$>
# Apache 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
</FilesMatch>
ところがところが、WordPressのカスタマイズのパーマリンクが表示できない。
「mod_rewriteが無効になっていたか!?」と、a2enmod してみても変わらない。
困ったときには、ググるカス!
そのものずばりで「Apache mod_rewrite rules don’t work with dynamic virtual host and php-fpm」とGoogle先生に聞いたら、ありました!!!が、記載内容は自分と同じ・・・。
Ansewrを見ていったら↓これが・・・。
Check your apache config file and enable rewrite for all.
Open terminal and write: nano /etc/apache2/apache2.conf
Find these lines and write exactly this code :
大元のconfで
AllowOverride All
していなかった!!!!ボーンヘッドでした。
変更してApache再起動して、めでたくパーマリンク表示ができました。