Назад | Перейти на главную страницу

Определение версии PHP на удаленном сервере

Я не могу представить, что это возможно, но, возможно, есть какой-то новый способ. Я разрабатываю приложение, для которого потребуется развернуть и запустить несколько файлов php на веб-серверах клиентов. Меня не особо интересует нацеливание на клиентов, которые все еще используют версии PHP до 5-й версии.

Итак, есть ли способ узнать, какая версия PHP запущена на удаленном веб-сервере?

Многие серверы предоставляют заголовок X-Powered-By, который может включать версию PHP. Попробуйте запросить сервер с помощью curl:

curl -I http://example.com

Вы можете использовать сайт для просмотра заголовков 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.

Вы также можете просмотреть заголовок X-Powered-By с помощью некоторых надстроек браузера, например надстройки «Live HTTP Headers» для Mozilla Firefox. Однако большинство производственных серверов не включают заголовок X-Powered-By.

В fiddler перейдите на вкладку создания, введите веб-адрес и отправьте запрос GET. Затем, когда ответ появится в левом окне, дважды щелкните по нему. С правой стороны он покажет детали запроса и ответа. В сведениях об ответе (внизу справа) щелкните вкладку RAW или HEADERS и посмотрите на заголовки. Информация о сервере будет рядом с заголовком Server: