gpt4 book ai didi

php - 在windows下从php执行python脚本

转载 作者:太空狗 更新时间:2023-10-29 21:44:11 25 4
gpt4 key购买 nike

好的,这适用于我的 linux 服务器,但我在家里用我的 PC 测试我的网站,并试图让 php 执行我的 python 脚本,当然\是 WINDOWS,只有当我在我的 linux 上时路径才会改变机器。

$pyscript = 'C:\\wamp\\www\\testing\\scripts\\imageHandle.py';
$python = 'C:\\Python27\\python.exe';
$filePath = 'C:\\wamp\\www\\testing\\uploads\\thumbs\\10-05-2012-523.jpeg'


exec('$python $pyscript $filePath', $output, $return );

这适用于我的 Linux 机器,但不适用于我的 Windows 测试服务器。我如何让它在 Windows 上运行?哦,这也适用于直接从 Windows 中的命令提示符运行

编辑:

这是解决方案:

exec("$python $pyscript $filePath", $output);

我之前用单引号代替双引号,把单引号改成双引号就解决了。

最佳答案

我觉得奇怪的是 C:\\wamp\\.... 的文件路径在 Linux 机器上可以工作。无论如何,您是否尝试过不转义斜线?

该问题可能与几件事有关,包括实现不同程序执行功能的操作系统特定方法。我建议只浏览不同的选项,我总是将命令放入一个变量中,然后打印出该变量,以便我可以看到我将要运行的内容,如果您看到两个斜杠,那么您可能知道没有需要尝试转义斜杠,但是如果不将其打印到屏幕上,您将不会知道。

尝试浏览其他流程执行功能,看看哪些适合您。 http://www.php.net/manual/en/ref.exec.php

我发现最像在命令行运行的是反引号运算符,然后是 system

尝试这样的事情。

$pyscript = 'C:\\wamp\\www\\testing\\scripts\\imageHandle.py';
$python = 'C:\\Python27\\python.exe';
$filePath = 'C:\\wamp\\www\\testing\\uploads\\thumbs\\10-05-2012-523.jpeg'

$cmd = "$python $pyscript $filePath";
echo $cmd;
`$cmd`


$pyscript = 'C:\wamp\www\testing\scripts\imageHandle.py';
$python = 'C:\Python27\python.exe';
$filePath = 'C:\wamp\www\testing\uploads\thumbs\10-05-2012-523.jpeg'

$cmd = "$python $pyscript $filePath";
echo $cmd;
`$cmd`

编辑:啊啊!我刚刚弄明白了,你用单个勾号包围你的命令,这意味着里面的变量没有被替换。请改用双引号。这将解决问题,但我仍然建议在运行之前回显命令,以便您可以看到正在运行的命令,并且能够识别这样的问题。

关于php - 在windows下从php执行python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10545239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com