Intereting Posts
Заменить тег в HTML с помощью DOMDocument Эффективное сохранение загруженных пользователем изображений в файловой системе получить уникальное значение из массива и итоговых сумм Mockery, определяющий ожидаемые аргументы для нескольких вызовов codeigniter db-> delete () всегда возвращает true? Получатель уведомлений по электронной почте Woocommerce условно на основе настраиваемого поля Zend_Session: сеанс должен быть запущен до того, как любой вывод будет отправлен в браузер Попытка получить удаленный сервер базы данных, работающий с mysqli локально Magento – настраиваемый модуль не работает Нужны ли кавычки вокруг таблиц и столбцов в запросе MySQL? Как я могу исправить ошибку MediaWiki? Wiki использует файлы cookie для входа в систему. У вас отключены файлы cookie. Пожалуйста, включите их и повторите попытку. "? В PHP можно проверить содержимое Zip-файла без предварительного извлечения его содержимого? Анализ XML с использованием PHP Сохранение CakePHP не сохраняет ассоциированную модель PHP вычисляет дни между двумя разными датами

Программно проверить, установлен ли PHP с помощью Python

Используя python, как бы проверить, установлен ли PHP на моем сервере (CentOS 6.4)? Большинство ресурсов в googled указывают в противоположном направлении, то есть проверить, установлен ли модуль python в PHP.

Есть ли способ проверить, установлен ли PHP (любая версия) на сервере с помощью Python?

EDIT: Я написал сценарий bash, который просто вызывает php -v и может быть вызван изнутри python, но есть ли другой способ в Python напрямую?

Вы можете использовать подпроцесс, чтобы проверить, может ли он выполнить команду.

 import subprocess as sp def hasPHP(): try: sp.check_call(['php', '-v']) return True except: return False 

Затем вы можете вызвать hasPHP() чтобы получить либо True либо False .


Примечание: в то время как обычно лучше указать тип ошибки, множество ошибок, которые могут возникнуть (разные операционные системы и т. Д.), Имеет смысл оставить это.


О синтаксисе:

Эта строка:

 import subprocess as sp 

В основном это (это немного сложнее):

 import subprocess sp = subprocess del subprocess 

В менее формальных терминах он дает псевдоним длинного имени модуля.

Как насчет:

 from os import system php = system('php --version') if php != 0: print 'Missing: PHP' 

Если установлено, вы найдете php binary /usr/bin/php или /usr/local/bin/php

Чтобы проверить, является ли путь существующим файлом:

os.path.isfile(path)

Вернуть True если путь – это существующий обычный файл. Это следует за символическими ссылками, поэтому оба islink() и isfile() могут быть истинными для одного и того же пути.