我目前有一个运行 MySQL 和 PHP 的网站,这一切都在工作。我已经尝试安装 WAMPServer 以便能够在我自己的计算机上在该站点上工作,但是我在尝试使该站点正常工作时遇到了问题。
HTML 和 PHP 文件可以正常工作(通过访问http://localhost/index.php等)。但是有些页面显示“此网页不可用”(在 Chrome 中)或“Internet Explorer 无法显示此网页”,这让我认为服务器有错误,当页面不存在时,它通常显示“糟糕!此链接似乎已损坏”或 IE 的标准 404 页面。
我站点中的每个页面都有一个 include() 调用来设置一个类的实例来处理所有数据库事务。此类在其构造函数中打开与数据库的连接。我发现注释掉构造函数的内容将允许页面加载,尽管这可以理解地导致页面稍后出现错误。
这是包含文件的内容:
class dbAccess {
private $db;
function __construct() {
$this->db = mysql_connect("localhost","root","") or die ("Connection for database not found.");
mysql_select_db("dbName", $this->db) or die ("Database not selected");
}
...
}
作为对这里发生的事情的说明。我正在尝试使用我网站上的数据库,而不是本地机器。当我将 dbName、用户和密码的实际值插入我的数据库软件 (Navicat Lite) 并在站点的最终版本上正常工作时,它们的实际值起作用,所以我认为问题不在于这些值本身,而是Apache 或 Wamp 的一些设置。
这是我尝试登录该站点的 Apache 错误日志的摘录:
[Wed Apr 14 15:32:54 2010] [notice] Parent: child process exited with status 255 -- Restarting.
[Wed Apr 14 15:32:54 2010] [notice] Apache/2.2.11 (Win32) PHP/5.3.0 configured -- resuming normal operations
[Wed Apr 14 15:32:54 2010] [notice] Server built: Dec 10 2008 00:10:06
[Wed Apr 14 15:32:54 2010] [notice] Parent: Created child process 1756
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Child process is running
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Acquired the start mutex.
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Starting 64 worker threads.
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Starting thread to listen on port 80.
我已经尝试在线搜索解决方案,但无法找到任何帮助。如果您需要任何进一步的信息来帮助解决此问题,请随时提出要求。
(另外请注意,我什至在这台计算机上没有 Skype,所以我看不出这是一个问题,因为这种冲突似乎是任何 Wamp 问题的默认响应。)
[编辑:从错误日志中删除条目,因为它已作为一个不相关的问题解决] [编辑:查看我的主机文档,我发现除了 80 和 443(用于 HTTP 和 HTTPS)之外的所有端口都被阻止,这意味着它们没有允许像我在这里尝试做的那样的外部连接。我已将其更改为本地数据库,但仍然收到相同的错误。问题仍然悬而未决。]