我经常有客户不知道他们的服务器是否支持PHP(他们的网站是HTML网站)。目前,我发送了hello.php文件,他们上传了它,然后如果他们的服务器支持PHP,我会远程检查它。如你所见,这需要一两天,这只是浪费时间。
我自己可以检查他们的服务器是否支持PHP(通过网络浏览器或控制台工具)吗?如果域名是www.my-client.com,那么语法是什么?
由于
PS。我可以访问Linux控制台,所以我也可以使用它
答案 0 :(得分:7)
您可以做的最好的事情是向此服务器http://www.my-client.com
发送HTTP请求并检查响应HTTP标头。在某些情况下,取决于服务器可能有线索。例如,FireBug的http://joomla.org响应HTTP标头的样式如下:
答案 1 :(得分:7)
正如Darin Dimitrov所说,一些服务器推广使用软件的版本。您可以使用curl查看响应的HTTP标头。
> curl -I http://example.com
HTTP/1.1 200 OK
Date: Tue, 17 May 2011 10:04:01 GMT
Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch
X-Powered-By: PHP/5.2.4-2ubuntu5.10
Vary: Accept-Encoding
Content-Type: text/html; charset=UTF-8
答案 2 :(得分:5)
也可以尝试
http://www.example.com/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
然后,某些服务器将使用PHP映像进行响应。如果你有shell访问权限,那么测试php是否直接安装在系统上是更可靠的。如果PHP通过此Easter Egg安装或通过响应标头安装,则可以在PHP.ini中禁用它。
决定PHP是否可以公开它安装在服务器上的事实(例如,通过将其签名添加到Web服务器头)。它不是任何安全威胁,但它可以确定您是否在服务器上使用PHP。
答案 3 :(得分:3)
不太可靠(但快速检查)请求非现有路径(404)返回有关服务器及其设置的信息。 例如,在我的机器上,我在页脚中得到以下内容,我可以解析'PHP':
Apache / 2.2.14(Unix)DAV / 2 mod_ssl / 2.2.14 OpenSSL / 0.9.8l PHP / 5.3.1 mod_perl / 2.0.4 Perl / v5.10.1
答案 4 :(得分:1)
除了Darin Dimitrov的回答,我可以说您可以阅读有关域的WHOIS信息并检测它的托管位置。然后,如果您确定了主机,只需检查他提供的功能。