0

PHPコードをブラウザで開きたいときにApacheが再起動するという問題があります。コード :

require_once 'DB.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);

$db_host = 'localhost';
$db_user = 'root';
$db_pass = 'marylover';
$db_name = 'test';
$dsn = "mysql://$db_user:$db_pass@unix+$db_host/$db_name";
$db = DB::connect($dsn);

最後の行でクラッシュしています-> MySQLに接続できないと思います。PEAR と Apache を使いたいのですが、相性が悪いようです。お願い助けて!ありがとう。

4

1 に答える 1

0

あなたが言う時:

最後の行でクラッシュしています-> MySQLに接続できないと思います。PEAR と Apache を使いたいのですが、相性が悪いようです。お願い助けて!ありがとう。

私はあなたがPHPレベルで意味していると仮定しています(つまり、スクリプトが終了し、Webサーバーレベルで「クラッシュ」はありません)?

Apache で使用されている PHP のビルドは、IDE (phpDesigner) で使用しているものとは異なる可能性があります。Apache で使用されている PHP ビルドの mysql 拡張機能が、別の方法で MySQL に接続しようとしている可能性があります (たとえば、存在しないソケット ファイルを介して)。

誤解していない限り、データベース サーバーに接続できないため、スクリプトが終了しているように見えます。

この行により、これが発生するように見えます。

PEAR::setErrorHandling(PEAR_ERROR_DIE);

サンプルコードを実行して、MySQLへの接続を確立することにエラーがあるかどうかを確認する必要があります。

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$conn = mysql_connect('localhost', 'root', 'marylover');
mysql_select_db('test', $conn);

また、phpinfo() を使用して構成コマンドを確認し、PHP ビルドのいずれかが--with-mysql-sockオプションでコンパイルされているかどうかを確認します。

于 2010-01-06T16:26:34.613 に答える