2008-11-10 48 views
2

我很痛苦地新到PHP,并试图在我的本地站点上设置phpBB。我有apache2和php5的股票debian安装。 phpBB安装程序运行正常,连接到数据库并创建了所有表,没有任何问题。但是当我试图打开登录页面时,我得到了一个0字节的响应。PHP5:调用外部函数,并记录错误

有点挖掘表明,它从来没有超过调用mysql_pconnect()。 php二进制文件只是退出,没有错误或消息。一点都没有。我试着运行下面的代码:

<?php 
$id = @mysql_pconnect('localhost','myusername', 'mypassword', true); 
print "id=".$id."\n"; 
?> 

和“id =”字符串从不打印。它什么都不做。我不知道去哪里看看发生了什么错误,或者发生了什么。所有我已经安装了“mysql”使用梨...也许我错过了别的东西?

这已经成为某处的路径问题。 MySQL扩展在筑好的

/usr/lib/php5/20060613+lfs/mysql.so 

答:

忌食:告诉我, “@” 操作符抑制输出,包括错误消息

(@echo关闭,任何人吗?) tomhaigh:必须在php.ini文件中显式启用扩展。在php.ini中添加“extension = mysql.so”行后,以下代码运行正常:

% 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 

JOY!

+1

你应该已经安装了它使用apt-get来代替,这将为您节省很多麻烦。如果您没有另行指定,它会在您的配置中启用它。 apt-get install php5-mysql debian和ubuntu的优势之一。 – jishi 2008-11-10 22:22:29

回答

1

尝试这样做:

<?php 
ini_set('display_errors', true); 
error_reporting(E_ALL | E_NOTICE); 
$id = mysql_pconnect('localhost','myusername', 'mypassword', true); 
print "id=".$id."\n"; 
?> 

,看看反应是什么

编辑

从您的评论,它看起来像MySQL的模块没有安装或启用。你可以在你的php.ini文件来看看,如果有喜欢的

extension=mysql.so 

线如果是用分号评论,尝试将其移除并重新启动Apache的

+0

致命错误:调用未定义的函数mysql_pconnect()在/usr/local/src/phpBB3/d.php在线4 – 2008-11-10 19:00:34

0

我有时会让PHP在发现一个找不到的函数时发生'黑洞'。

你能证实mysql扩展安装正确吗?

您可以通过这样创建的PHP页面做到这一点:

<?php 
phpinfo(); 
?> 

保存在你的根目录,然后访问它。它应该包含有关您的服务器当前以PHP模块运行的所有信息。

6

刚才注意到你在mysql_pconnect()前面使用@。这抑制了所有错误,在这种情况下这是一个非常糟糕的主意。删除它,你可能会看到输出。

否则:

检查你的php.ini,应在/etc/php5/apache2/php.ini为Debian。

检查名为display_errors的行,如果您想在浏览器中输出错误(不推荐用于生产系统,但在调试和开发过程中很有用),请将其设置为true。

上的Apache来记录你的错误阿帕奇错误日志文件,默认Debian中会指定log_errors(除非phpBB的站点指定其他错误文件):

/无功/日志/的Apache2 /error.log

0

我想你已经安装了你的PHP没有mysql扩展。自PHP5以来,我认为这是一个PECL扩展。 如果你在使用windows,应该在你的php目录中有一个pecl.bat或类似的东西。只需通过控制台进入并输入

pecl download mysql 

然后一切都应按预期工作。

+0

该命令只是将“mysql-1.0.tgz”下载到当前目录。我尝试了“pecl install mysql”并获得 跳过已安装版本1.0的软件包“pear/mysql” – 2008-11-10 19:03:37