为什么连接数据库说APACHE错误
MYSQL6.03版,PHP5.25 APACHE 2.28版,
一个最简单的连接数据库测试语句
<?php
mysql_connect("localhost", "root", "5049") or
die ("Could not connect" . mysql_error());
?>
但老是弹出apache发生错误,点击不发送后,但apache并没关闭,但我想测试自己的数据库测不了,怎么回事啊,重装系统也一样。
查看ERR。log日志,
[Sun Mar 23 15:54:59 2008] [warn] pid file E:/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Sun Mar 23 15:54:59 2008] [notice] Apache/2.2.8 (Win32) PHP/5.2.5 configured -- resuming normal operations
[Sun Mar 23 15:54:59 2008] [notice] Server built: Jan 18 2008 00:37:19
[Sun Mar 23 15:54:59 2008] [notice] Parent: Created child process 2260
[Sun Mar 23 15:54:59 2008] [notice] Child 2260: Child process is running
[Sun Mar 23 15:54:59 2008] [notice] Child 2260: Acquired the start mutex.
[Sun Mar 23 15:54:59 2008] [notice] Child 2260: Starting 64 worker threads.
[Sun Mar 23 15:54:59 2008] [notice] Child 2260: Starting thread to listen on port 80.
但是却不知道怎么改,高手请教,是不是和子进程有关。在查阅了PHP说明文档大致发现这一段话。
PHP 5 不再绑定 MySQL 客户端库,这对我意味着什么?我还能在 PHP 中使用 MySQL 吗?我试着使用 MySQL 结果得到“function undefined”错误,怎么办?
是的。PHP 总是支持 MySQL 的,不是这种方法就是那种方法。在 PHP 5 中唯一的改变就是不再绑定客户端库本身了。部分原因是(无特定顺序):
现今大多数系统已经安装了客户端库了。
由于以上原因,保持多个版本的库文件会导致混乱。例如,如果你把 mod_auth_mysql 连接到某个版本,但把 PHP 连接到了另一个版本,然后在 Apache 中同时激活了它们,你会得到无数错误。此外,绑定的库文件也不总是能和服务器端的版本很好地配合。对此最明显的症状是上哪里去找 UNIX 域套接字文件 mysql.socket。
维护有些松懈,并且已经越来越落后于发行的版本了。
未来的库版本是基于 GPL 的,因此我们没有升级的途径了,因为我们不能将基于 GPL 的库和 BSD/Apache 风格许可证的项目绑定到一起。因此具有一个干净的 PHP 5 是最好的选择。
事实上这并不会影响到太多人。UNIX 用户,起码是那些知道自己在做什么的人,往往会在编译 PHP 时通过 --with-mysql=/usr 将其绑定到自己系统中的 libmyqlclient 库上。Windows 用户可以在 php.ini 中激活 php_mysql.dll 扩展库。此外,要将 libmySQL.dll 拷贝到适当的 %SYSTEMROOT% 目录中,和 dll 目录中其它绑定的 DLL 一样。
5. 在安装共享 MySQL 支持之后,只要一加载 libphp4.so,Apache就会 core dump。这个问题能解决吗?
如果你的 MySQL 库依靠 pthreads 连接就会这样。检查是否使用了 ldd。如果有的话,下载 MySQL 源程序编译,或者从源 rpm 的 spec 文件中去掉打开 threaded client 的选项然后重新编译。以上任一建议会解决此问题。然后再加上新的 MySQL 库重新编译 PHP。
第四条已解决,是不是第五条造成这种故障???????????????????