質問: 環境は以下の通りとなります。 OS:centos6.8 SW:apache2.4.20 SW:php.7.0.9 インストールしてapacheまでの動作確認やバージョンの確認まではできております。 ただ、phpinfo()が表示されなくて、phpファイル全体が機能していないようです。 調べたらPHP7のモジュールを読み込ませる記述がhttpd.confになく、モジュールも ないようです。 php7のモジュールのインストール方法を教えていただけますでしょうか。
回答: apacheもphpもソースからコンパイルしたのかな。 apacheでphpを動作させるにはCGIとモジュールの2つあるけどまぁ普通はモジュールだよねという事でhttpd.confにモジュールで組み込む方法を説明しよう。 まず、phpをconfigureする時に--with-apxs2=/path/to/you/install/apacheという風にあなたがapacheをインストールした場所を指してこのオプションをつけなければいけない。そうして再コンパイルだ。ちなみに、このオプションをつけない状態からつける状態に変えたら一度make cleanしてからmakeしないと怒られる。 そうするとあなたが先ほど指定した場所/path/to/you/install/apache/modulesの中にlibphp7.soというファイルができる。 後はhttpd.confの中(一番下がお勧め)に ~~~~ LoadModule php7_module modules/libphp7.so AddHandler php7-script .php DirectoryIndex index.php ~~~~ こんな感じの事を書いてapacheを再起動してみよう。ひょっとしたらLoadModuleの行はphpのmake時に自動で入っているかも知れないので確認の上必要な行だけを追記していただきたい。 うまくいけばphpinfo()が表示されることでしょう。 上の作業の途中で詰まったら、今度は「何をしようとした時にどうなったか」を明記するといいだろう。例えば、php7のソースディレクトリでconfigureした時に○○というエラーが出た、makeした時に××というエラーが出た、httpd.confを修正してhttpd -Sした時にシンタックスエラーが出た、とか。