昨天,我只是在摆弄网站代码,因为从昨天开始我就没有动过 PHP 和 Apache 的实际设置……(我必须说我启用了 php_mysql 模块)我昨天制作了一个 MySQL 连接器,并且运行完美!今天早上,我启动计算机,当我尝试运行 Apache 时,它显示“请求的操作失败”。我查看 apache 日志,看到了这个。
[Fri Feb 22 08:07:39 2013] [warn] pid file C:/dev/progs/Apache/Apache2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
我在网上搜索了一下,发现必须删除该文件。我尝试删除然后重新启动,但没有用。
然后我发现禁用所有 PHP 模块也可以。所以我继续禁用 php_mysql 模块(这是唯一启用的模块)。
然后它又启动了!除非我想让它从 MySQL 启动。然后我尝试在我的 php 页面上运行连接器。我得到了这个。
[22-Feb-2013 07:59:54] PHP Fatal error: Call to undefined function mysql_connect() in C:\dev\www\test\index.php on line 48
所以我确实希望 mysql 能够在 PHP 上运行,但我不希望 mysql 阻止我运行 Apache......
有什么帮助吗?
(运行 Apache/2.0.64 PHP/5.2.17 MySQL5.6 - Win32 Home Premium)
答案1
第一条消息只是一个警告,您应该始终使用它apachectl
来启动/停止/重新启动 apache。http://httpd.apache.org/docs/2.2/programs/apachectl.html
禁用扩展后,PHP 无法启动但可以正常工作的最常见原因是扩展路径不正确或文件丢失。您需要在 php.ini 中设置它,然后重新启动 apache(当然使用 apachectl)。php.ini 中的 extension_dir 很可能没有指向您的 dll 文件,默认情况下它指向./
内存。
来自 php.net 的关于 Windows 扩展的说明:http://php.net/manual/en/install.windows.extensions.php