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 级别(即您的脚本退出,网络服务器级别没有“崩溃”)?

与 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 回答