私は痛々しいほど PHP に不慣れで、ローカル サイトに phpBB をセットアップしようとしていました。apache2 と php5 のストック debian インストールがあります。phpBB インストーラーは問題なく実行され、データベースに接続され、すべてのテーブルが問題なく作成されました。しかし、ログイン ページを開こうとすると、0 バイトの応答が返されました。
少し掘り下げてみると、mysql_pconnect() の呼び出しを通過したことがないことがわかりました。php バイナリは、エラーやメッセージなしで終了します。何もありません。次のコードを実行してみました。
<?php
$id = @mysql_pconnect('localhost','myusername', 'mypassword', true);
print "id=".$id."\n";
?>
「id=」文字列は印刷されません。それは何もしません。どのエラーが発生したか、または何が起こっているのかを確認するためにどこを見ればよいかわかりません。私がインストールしたのは、pearを使用した「mysql」だけです...おそらく他に何か不足していますか?
これはどこかでパスの問題に違いありません。mysql 拡張機能は、次の場所でうまく構築されています。
/usr/lib/php5/20060613+lfs/mysql.so
答え:
jishi: "@" 演算子がエラー メッセージを含む出力を抑制することを知らせてくれました (@echo off、誰か?)
tomhaigh: 拡張機能は、php.ini ファイルで明示的に有効にする必要があります。行「extension=mysql.so」を php.ini に追加すると、次のコードが正常に実行されます。
% cat d.php
<?php
ini_set('display_errors', true);
error_reporting(E_ALL | E_NOTICE);
$id = mysql_pconnect('localhost','myusername', 'mypassword', true);
print "id=".$id."\n";
?>
% php -c /etc/php5/apache2/php.ini d.php
id=Resource id #4
喜び!