Python:从python脚本调用php脚本时找不到PHP致命错误类

时间:2014-01-08 09:39:51

标签: php python

我正在尝试使用subprocess

cmd1 = 'php -f ' + path + '/src/MarketplaceWebService/Samples/ReviseItem.php %s %s' % (sku,qty)
print cmd1
args1 = shlex.split(cmd1)
p=subprocess.Popen(args1)
p.wait()

但我得到了跟随错误:

  

PHP致命错误:找不到类'MarketplaceWebService_Client'   /home/nish/stuff/repos/new/voylla_staging_changes/voylla_scripts/amazon/src/MarketplaceWebService/Samples/ReviseItem.php   在第70行

当我使用php -f ReviseItem.php通过命令行运行相同的php脚本时,它运行正常,没有任何错误。我该如何解决这个错误。

1 个答案:

答案 0 :(得分:1)

php脚本中的include()require()调用正在使用相对文件路径,这些路径本身就是运行命令时实际所在目录的亲属。

例如,您可以在php脚本的开头使用echo getcwd();调用来断言。

所以,你必须在运行命令之前将你的python代码修改为 cd 到正确的dir(更容易),或修改你的php脚本以使用绝对路径包含(不是最好的)因为你的脚本将绑定到系统上的特定目录,所以要走的路。