2

使用 python,我将如何检查我的服务器上是否安装了 PHP(CentOS 6.4)?大多数谷歌搜索的资源都指向相反的方向,即检查python模块是否安装在PHP中。

有什么方法可以检查是否使用 Python 在服务器上安装了 PHP(无论版本)?

编辑: 我编写了一个 bash 脚本,它简单地调用php -v并且可以从 python 中调用,但是在 Python 中有没有其他方法可以直接调用?

4

3 回答 3

3

您可以使用 subprocess 来检查它是否可以执行命令。

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

然后,您可以致电hasPHP()获取TrueFalse


注意:虽然通常最好指定错误类型,但可能出现的各种错误(不同的操作系统等)最好将其省略。


关于as语法:

这一行:

import subprocess as sp

基本上是这样做的(稍微复杂一些):

import subprocess
sp = subprocess
del subprocess

在不太正式的术语中,它为长模块名称提供别名。

于 2013-08-09T06:44:35.433 回答
0

怎么样:

from os import system
php = system('php --version')

if php != 0:
    print 'Missing: PHP'
于 2013-08-09T06:41:41.733 回答
0

如果已安装,您将找到一个 php 二进制文件/usr/bin/php/usr/local/bin/php

要检查路径是否为现有文件:

os.path.isfile(path)

True如果path是现有的常规文件,则返回。这遵循符号链接,因此对于同一路径,两者islink()isfile()都可以为真。

于 2013-08-09T06:43:48.370 回答