人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Intel iMacを使っています。
http://jamlog.podzone.org/index.php?id=562
を参考に現在ローカルとしてPHP5を動かそうとしていますが、
make install までできたのに関わらず、
「php -v」でも4.3のままです。
うまくインストールされていないかもしれないのですが、
その確認を含めて、正しくターミナルから使える方法、
もしくはその方法が紹介されているページを教えてください。

また、インストールできたなら、ローカル環境でウェブアプリを動かすため、httpd.confを編集する必要があると思いますが、その編集内容および、手順がわかればなおありがたいです。

PHP4は既に動いているのですが、PHP5をMacで動かす情報はあまり見つけられませんでした。よろしくお願いします。

●質問者: まさきん
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:httpd iMac Intel MAC make
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● toguo
●30ポイント

MAMPを利用されるのは如何でしょうか。

MAMP - by webEdition

OSXの中の設定を変える事なくPHP4とApache+PHP+MySQL環境を用意出来ます。

◎質問者からの返答

PHP5もちゃんと入っているようですね。

ニーズを全部満たしているようです。ありがとうございます。

ただ、せっかく以前にインストールした(?)PHP5を使ってみたいので、もう少し解答を募集します。


2 ● tadashi0805
●30ポイント

標準で入っているPHP 4は、/usr/binに入っています。

ソースからmakeしてmake installしたものですと、特に指定しないと/usr/local/binに入ると思います。まずは、make installを行った時に、どのディレクトリにインストールしたかを確認してください。

インストールした方を優先的に使うためには、シェルの環境変数PATHにインストールディレクトリを一番手前に追加設定する必要があります。

例えば、/usr/local/binを追加するには、ホームディレクトリに.profileというファイル名で、内容を

export PATH=/usr/local/bin:$PATH

と入れてください。

httpd.confは、root権限でないと編集できませんので、sudo vi httpd.confなどとして、管理者のパスワードを入れてください。ファイルは、/private/etc/httpdにあります。

編集するところは、

LoadModule php4_module libexec/httpd/libphp4.so

AddModule mod_php4.c

の2行の4を5にそれぞれ変更してください。

また、phpをインストールした時に入るはずのlibphp5.soを、Apacheの拡張モジュールディレクトリ/usr/libexec/httpdに入れてください。

http://q.hatena.ne.jp/

◎質問者からの返答

前半の環境変数の部分は問題なく設定できました。ありがとうございます。

後半のhttpd.confの部分ですが、

指定された通り、libphp5.soをコピーした後に編集しましたが、

ターミナルでは

Syntax error on line 241 of /etc/httpd/httpd.conf:

Cannot load /usr/libexec/httpd/libphp5.so into server: (reason unknown)

/usr/sbin/apachectl graceful: httpd could not be started

となってうまく使えていないようです。

(241はLoadModuleの行です)

何かアドバイスがあれば幸いです。


3 ● tadashi0805
●20ポイント

Cannot loadとエラーが出ているということは、/usr/libexec/httpd/libphp5.soファイルが存在しないか、Apacheが読み込むことのできないフォーマットになっているかのどちらかです。

ターミナルから、

ls -l /usr/libexec/httpd/libphp5.so

と打って、

のように、ファイル自体はきちんとあるようでしたら、makeした時のconfigureオプションを確認してください。

ターミナルから

php -r 'phpinfo();'

と打ってください。ここで動かすphpコマンドはPHP 5の奴です。

で、ずらずらと結果が出てきます。

その中に、以下のようにConfigure Commandという長い行があります。

Configure Command => '/SourceCache/apache_mod_php/apache_mod_php-18.4/php/configure' '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--with-apxs' '--with-ldap=/usr' '--with-kerberos=/usr' '--enable-cli' '--with-zlib-dir=/usr' '--enable-trans-sid' '--with-xml' '--enable-exif' '--enable-ftp' '--enable-mbstring' '--enable-mbregex' '--enable-dbx' '--enable-sockets' '--with-iodbc=/usr' '--with-curl=/usr' '--with-config-file-path=/etc' '--sysconfdir=/private/etc' '--with-mysql=/usr' '--with-mysql-sock=/var/mysql/mysql.sock'

この行に、--with-apxsが含まれているかどうかを確認してください。このオプションが、Apacheのライブラリ形式で作る指定です。

http://www.bitlink.co.jp/server/lin_php4.htm

↑ここの解説はPHP 4ですが、PHP 5でも同じことです。

これがもし付いていないようですと、configureからやり直して再度make後、make installを行う必要があります。

◎質問者からの返答

ありがとうございます!!

オプションをつけた上でコンパイルしうまく動きました。ありがとうございます。

これにてこの質問を終了します。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ