我最近安装了Apache,PHP和MySQL,并且所有三个似乎都单独工作。 然而,我的MySQL和PHP似乎没有在Apache下运行良好 – 当试图连接到数据库,页面挂了几分钟,然后加载没有内容,没有错误信息。
我正在运行Apache 2.2.14,PHP 5.3.1和MySQL 5.1.41。 我已经检查过使用phpinfo()启用MySQL。 在php.ini中的所有设置和扩展设置如下:
[MySQL] mysql.allow_local_infile = On mysql.allow_persistent = On mysql.cache_size = 2000 mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off [MySQLi] mysqli.max_persistent = -1 mysqli.allow_persistent = On mysqli.max_links = -1 mysqli.cache_size = 2000 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = mysqli.reconnect = Off [PHP_MYSQL] extension=php_mysql.dll [PHP_MYSQLI] extension=php_mysqli.dll
我已经阅读了有关PHP目录中的一个DLL的老版本的PHP这样的问题。 但是,这个DLL不再存在,问题已经被解决了。 我的设置看起来好吗? 有没有人遇到过这样的问题?
我可以像BenTheDesigner推荐的那样从命令行连接到mysql。 我不能在PHP内连接。 错误日志中没有错误,只是关于启动/停止服务器的消息
我发现使用微软“networking平台” 下载的股票组件,我能够跳过所有与特定的MySQL DLL有关的自定义黑客。
在您的PHP脚本中,确保显示错误diplay:
error_reporting(E_ALL | E_STRICT ); ini_set('display_errors', '1');
而使用mysqli_error()
和/或mysqli_connect_error()
也可以提供帮助。
在这种情况下,首先查看Apache服务器日志通常是一个好主意。 对于Windows,如果内存服务,它们应该在一个文件夹中,如: C:\Program Files\Apache Foundation\Apache\logs
。 检查error_log
文件。
Windows事件日志也可能提供有用的信息,您可以通过Windowspipe理控制台/系统工具/事件查看器/ Windows日志访问,系统和应用程序日志是相关的。