ライン

ポイント:apacheがデフォルト無効になっている

ライン

 はじめに

lang/php5

 FreeBSD 9.2-RELEASE/Apache24で利用する前提です。
pkgで導入することから始めます。

 portsを利用

導入

 まずは、導入を行います。5.4系がデフォルトになっているようです。

# pkg install php5
Updating repository catalogue
The following 3 packages will be installed:

        Installing pkgconf: 0.9.3
        Installing libxml2: 2.8.0_2
        Installing php5: 5.4.21

The installation will require 15 MB more space

2 MB to be downloaded

Proceed with installing packages [y/N]:

WITH_APACHEはデフォルトではないので、入れても結局コンパイルが必要みたいだ。
そういう説明とか手順とかどこにも見かけないのは何故だろう。

現行のportsでは、上記のような指定ができるようになっていました。
以下のように決め、導入を行うことにします。

# cd /usr/ports/lang/php5
# make config
# make config-recursive

設定を加えましょう。(APACHEにチェックを加え、OKにします)

追加してみました。

# make reinstall clean

portsでインストールする際に、余計に入ってしまいました。

***************************************************************

Make sure index.php is part of your DirectoryIndex.

You should add the following to your Apache configuration file:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

***************************************************************

/usr/local/etc/php.conf もできあがっているはずです。

# cd /usr/local/etc
# cp php.ini-production php.ini

この後、以下の修正を入れました。

;short_open_tag = Off
short_open_tag = On

[Date]
date.timezone = Asia/Tokyo

この後、apacheを再起動(restart)で有効になります。

 PHPが更新後に動かなくなった

www/mod_php5の登場

 これは、apache22でも同様ですが、このページに記述した内容は古い情報になりました。

# ll /usr/local/libexec/apache24/libphp5.so
ls: /usr/local/libexec/apache24/libphp5.so: No such file or directory

上記のように、ライブラリがない状態になったら該当すると思って良いかと。
pkg install mod_php5だと、apache22を新規で持ってきてしまうので、手動でportsインストールにしました。
この辺りのpkgの使い方は理解しておかないと、今後不便そうです。

# cd /usr/ports/www/mod_php5
# make install clean
# ll /usr/local/libexec/apache24/libphp5.so
-r--r--r--  1 root  wheel  4216952 May  6 22:43 /usr/local/libexec/apache24/libphp5.so
# service apache24 restart

これで今まで通りに動作するように戻りました。
一応他のページも貼りましたが、以下を参照してください。

20140327:
  AFFECTS: users of lang/php5 and lang/php55 with Apache module
  AUTHOR: ale@FreeBSD.org

  The Apache PHP module has been separated from the main PHP port.
  If you had the APACHE OPTION selected, you have to perform the
  following steps:

  1) update your lang/php* options (i.e. 'make config')
  2) rebuild lang/php* port
  3) install www/mod_php* port

  It is *mandatory* to build both ports with the same DEBUG and ZTS
  options, so if you have a threaded Apache (i.e. worker or event MPM)
  you have to select the ZTS option in lang/php* port.

上記のようにアナウンスされています。(see /usr/ports/UPDATING)

【改訂履歴】作成:2013/11/12 更新:2014/05/06

【参考リンク】

日本 PHP ユーザ会 (Japan PHP Users Group) … PHP ユーザ会のページ

Copyright © 1996,1997-2006,2007- by F.Kimura,