phpenvとapacheを連携させる

2016年2月5日

動作環境

サーバー: さくら 1G SSD
OS: CentOS 6.5
Webserver: apache 2.4

 

前回の記事より

前回の記事でphpenvの導入方法をやりました。
まだ導入を行っていない方は以下のURLよりどうぞ

■phpenvを導入してphpのバージョン管理をする
https://www.kabanoki.net/492

 

phpenvとapacheが連携してない

前回PHPが利用できるようにはなりました。
試しに以下のファイルをサーバーに設置してみます。

$ cd /var/www/html
$ sudo vi phpinfo.php

phpinfo.phpに以下の記述を行う。

<?php 

phpifno();

apacheを起動します。

$ sudo service httpd start

それではブラウザでアクセスしてみます。

ページの画像

画像のようなページが開かれたなら残念ながらPHPとapacheが連動していないようです。

 

phpenvとapacheを連携させる

さてここからが本題です。
phpenvはデフォルト設定だとで「libphp5.so」ができません。
なので、ちょっと追加の記述が必要です。

$ cd
$ cd .phpenv/plugins/php-build/share/php-build/definitions
$ sudo vi 5.6.17

「5.6.17」の先頭に「configure_option "--with-apxs2" "/usr/sbin/apxs"」を追記する。

configure_option "--with-apxs2" "/usr/sbin/apxs"
install_package "https://secure.php.net/distributions/php-5.6.17.tar.bz2"
install_xdebug "2.3.3"
enable_builtin_opcache

PHP 5.6.17を再インストールする。

$ sudo chmod 777 /usr/lib64/httpd/modules
$ sudo chmod 777 /usr/lib64/httpd
$ sudo chmod 777 /usr/lib64
$ sudo chmod 777 /usr
$ phpenv install 5.6.17
$ cd
$ sudo cp /usr/lib64/httpd/modules/libphp5.so .phpenv/versions/5.6.17/libexec/libphp5.so

apacheを設定する。

$ sudo vi /etc/httpd/conf.d/php.conf
# 先ほどコピーしたlibphp5.soを参照する
LoadModule php5_module /home/vagrant/.phpenv/versions/5.6.17/libexec/libphp5.so

# .phpファイルにアクセスした場合PHPスクリプトとして扱う記述
AddType application/x-httpd-php .php

# デフォルトファイルの追加
DirectoryIndex index.php

記述に間違いが無いか確認

$ sudo httpd -t
Syntax OK

apacheを再起動する。

$ sudo service httpd start

ブラウザで確認する。

phpinfo()(1)
この表示がされれば、設定は完了です。

最後にサーバー起動時に自動でapacheを起動させるために以下を行う。

$ sudo chkconfig httpd on

 

お疲れ様でした。

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-apache
-, , ,