我无法想象这是可能的,但也许有一些新颖的方法。我正在开发一个应用程序,需要部署一些 php 文件并在客户的网络服务器上运行。我对仍然运行 PHP 5 之前版本的客户并不特别感兴趣。
那么有没有什么方法可以知道远程网络服务器正在运行哪个版本的 PHP?
答案1
您可以使用网站查看 http 标头,例如http://web-sniffer.net/
某些网站会在标头的服务器部分返回 PHP 版本,例如这是我刚刚测试的网站的响应:
Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8e-fips-rhel5
mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.12
这更有可能在托管在标准共享托管平台(例如 cPanel)上的网站上发挥作用。
答案2
许多服务器提供 X-Powered-By 标头,其中可能包含 PHP 版本。尝试使用 curl 查询服务器:
curl -I http://example.com
答案3
您还可以使用一些浏览器插件查看 X-Powered-By 标头,例如 Mozilla Firefox 的“Live HTTP Headers”插件。但是大多数生产服务器不包含 X-Powered-By 标头。
答案4
在 Fiddler 中,转到撰写选项卡并输入网址并发送 GET 请求。然后,当响应在左侧窗口中弹出时,双击它。右侧将显示请求和响应详细信息。在响应详细信息(右下角)中,单击 RAW 或 HEADERS 选项卡并查看标头。服务器信息将位于 Server: 标头旁边