我家里有 Apache2.4 服务器,在 Windows 7 家庭版上运行 MySQL 和 PHPmyadmin。
在网络内部,一切都运行良好,但如果我尝试从“互联网”外部访问该网站,则需要很长时间才能发出声音,最后会显示“此页面无法正常工作 HTTP 错误 504”
我目前所做的:
- 我有公共静态IP。
- 我在路由器上打开了端口“8080”,并将其映射到我的 Apache 服务器 IP 和端口“80”
- 我在服务器的防火墙中打开了相同的端口“80”,甚至尝试关闭防火墙。
- 我将 DNS 服务指向我的公共 IP 并指向端口。“Godaddy 的 DNS 服务不在我的网络内”
- 我尝试通过域名和 IP 地址访问该网站,但没有成功。
- 我从外部检查了我的网络的端口,“8080”和“80”都可以正常工作。
- 我格式化了服务器并进行了新的设置,甚至尝试了相同的 WAMP 服务器!
- 我打电话给互联网提供商,询问他们是否阻止了某些网络托管端口,他们确认我使用的所有端口都是开放的。
我已经尝试了两个星期,几乎做了所有我能从互联网上找到的方法。
知道如何解决这个问题吗?或者我应该更改 Apache 服务器中的其他选项来让它正常工作吗?
注意:当我重新启动服务器时,有时我可以从互联网访问网站,但只能持续几秒钟,而且只有文本,我检查了访问日志文件,发现了来自外部的 IP,但这只能持续几秒钟,之后如果我尝试访问,它将不显示任何内容,也不会有新的日志”
答案1
启用 apache 的错误日志并查看出了什么问题。
由于您可以在几秒钟内从外部访问该网站,并且 apache 显示您的客户端 IP 已成功连接到服务器,请尝试将所有文件移动到另一个临时文件夹,并在其中htdocs
放置一个空文件。index.html
如果此操作有效,则说明一些与 PHP 相关的模块已损坏。查看错误日志以找出需要修复的模块。
从你的错误日志中:
PHP Warning: PHP Startup: Unable to load dynamic library 'php_curl.dll' (tried: C:\\php\\ext\\php_curl.dll (The specified module could not be found.), C:\\php\\ext\\php_php_curl.dll.dll (The specified module could not be found.)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'php_intl.dll' (tried: C:\\php\\ext\\php_intl.dll (The specified module could not be found.), C:\\php\\ext\\php_php_intl.dll.dll (The specified module could not be found.)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'php_mysql.dll' (tried: C:\\php\\ext\\php_mysql.dll (The specified module could not be found.), C:\\php\\ext\\php_php_mysql.dll.dll (The specified module could not be found.)) in Unknown on line 0
然后稍后:
script 'C:/Apache24/htdocs/viewtopic.php' not found or unable to stat
因此你的 PHP 看上去根本不起作用。