- 締切済み
FC6でPHP5.2.4を使いたい
Linux超初心者です。 FedoraCore6 2.6.xx をインストールしたら PHP 5.1.6 が自動でインストールされました。これを PHP 5.2.4 にしたいと思い、 ソースをダウンロードして ./configure make make install までいきました。 さて、この後はどうすればよいのでしょうか? また、configureの際、--with-pgsqlを省略したのですが、 これですとPostGreSQLが使えないビルドになってしまうので しょうか?後からなんとかなるものなのでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- irija_bari
- ベストアンサー率73% (70/95)
問題は解決しましたでしょうか? >ど素人の質問にお付き合いくださって、ありがとうございます。 初めは誰でもど素人です。お気になさなずに。 >しかし、/usr/local/src/php-5.2.4/libs/libphp5.so自体に >問題がある可能性が高いので。。。 はその通りだと思います。 コマンドラインでphp -vと入力するとphpのバージョンが表示されるようなので、 そこで5.2.4と表示されるなら、インストールはOKで、Apachとの連携に問題ありということになりますよね。 再度Webで検索してみたのですが、インストール時に /usr/lib/httpd/modules/libphp5.soに書き込み権限が無いため、 うまくいかなかった。 (この場合上記のファイルの書き込み権限を甘くしてインストールする。 インストールがうまくいったら権限を戻す。) インストール後に、make cleanを実行し、再度./configure, make, make installする。 「論よりReboot」という言葉もあるので、Apach, PHP, Linux OS自体の 再起動を行ってみる。(順番が関係する場合もあります。) 3つ方法を挙げましたが、後のものほど「おまじない」的要素が強いです(^^;)。 いろいろやっているうちに、突破口が開く場合もあります。 頑張ってください。
- irija_bari
- ベストアンサー率73% (70/95)
あともう一つ補足です。 PostgreSQLがインストールされている場所ですが、pgsqlという名前の ディレクトリではなかった記憶があります。 DB(又はdb?)とかそんな感じの名前だったような。。。 プログラムがインストールされていそうな場所(/usr/local など)で 探してみてはいかがでしょうか。
- irija_bari
- ベストアンサー率73% (70/95)
まず、問題2から解決していくべきでしょうね。 /usr/local/src/php-5.2.4/libs/libphp5.so: undefined symbol: _estrndup というエラーですと、libphp5.soで_estrndupという定義されていない 関数or変数を使っている可能性が高いですよね。 ./configureする時にApach用のオプションを付けているでしょうか? (下記参考URL) また、 mv /usr/lib/httpd/modules/libphp5.so /usr/lib/httpd/modules/libphp5.so.old cp /usr/local/src/php-5.2.4/libs/libphp5.so /usr/lib/httpd/modules/libphp5.so としてみるなど、いろいろと試してみるべきでしょうね。
補足
ど素人の質問にお付き合いくださって、ありがとうございます。 >./configureする時にApach用のオプションを付けているでしょうか? 以下のようにつけています(--with-apxs2=/usr/sbin/apxs)。 ./configure --prefix=/usr/local/php-5.2.4 --with-pgsql --enable-mbstring --with-apxs2=/usr/sbin/apxs --with-gd --with-zlib --with-jpeg-dir >mv /usr/lib/httpd/modules/libphp5.so /usr/lib/httpd/modules/libphp5.so.old >cp /usr/local/src/php-5.2.4/libs/libphp5.so /usr/lib/httpd/modules/libphp5.so >としてみるなど、いろいろと試してみるべきでしょうね。 そうですね。試してみます。 しかし、/usr/local/src/php-5.2.4/libs/libphp5.so自体に 問題がある可能性が高いので。。。
- irija_bari
- ベストアンサー率73% (70/95)
UNIX/Linuxから離れて久しいので、参考程度に。 Web検索したところ下記参考URLあたりを読めば良いのではないかと思います。 ざっと読んだ感じでは、ほとんどインストールだけで動くみたいですね。 (php.iniのコピーと、httpd.confの変更が必要?) PostGreSQLが使えないようなら、 make clean で一度コンパイルしたものを削除してから、 改めてオプション付の./configureを実行して、 ./make, ./make instrallすればOKだったと思います。
補足
回答ありがとうございます。 状況としては、FC6インストール時に自動で入ったPHP5.1.6パッケージとPostgreSQL8.1.8パッケージが動いていてPHPとPostgreSQLの連系もできています。が、PHPを5.2.4に差し替えたいのです。「200ものバグを改善」なんて書いてありますし。。。 問題1)ソースを解凍し、./configure する際、 --with-pgsql=path/to/pgsql と指定したいのですが、 pgsqlというファイルがありません。 find / -name pgsql -type f でもノーヒット。 しかたないので、--with-pgsql --with-gd としました。 問題2)conf.d/php.conf で LoadModule php5_module modules/libphp5.so とするとphp5.1.6が動きます。(phpinfo()を表示させて確認) こいつを書き換えればいいと思い(違うのかな?)、 # find / -name libphp5.so -type f とすると /usr/lib/httpd/modules/libphp5.so /usr/local/src/php-5.2.4/libs/libphp5.so /usr/local/src/php-5.2.4/.libs/libphp5.so と出たので、 LoadModule php5_module usr/local/src/php-5.2.4/libs/libphp5.so としてhttpdをrestartすると、 httpd を起動中: httpd: Syntax error on line 210 of /etc/httpd/conf/httpd.conf: Syntax error on line 7 of /etc/httpd/conf.d/php.conf: Cannot load /usr/local/src/php-5.2.4/libs/libphp5.so into server: /usr/local/src/php-5.2.4/libs/libphp5.so: undefined symbol: _estrndup と怒られてしまいます。 しかたないので、 LoadModule php5_module modules/libphp5.so に戻すと、httpd は再起動で、php-5.1.6が 動きます。 問題3)php.ini をどうすればよいのかわからない。 既存のままで良いのか、どこか修正すべきなのか。。。 こんな感じです。
補足
情報ありがとうございます。 探してみます。