【问题标题】:PHP executing script in subfolderPHP在子文件夹中执行脚本
【发布时间】:2012-04-04 19:49:32
【问题描述】:

我的网站工作方式遇到了一个小问题。 我有一个要从 index.php 页面运行的 python 脚本。 现在如果这个脚本在根目录下,使用这个命令我可以很容易地执行它:

<?php
exec("myscript.py");
?>

这实际上运行 python 脚本并执行所需的操作。但是,我计划编写更多脚本并希望尽可能保持根目录干净,因此我想知道是否可以从我的根目录中的子目录执行此脚本?

当前设置:

Root -  C:\wamp\www\homepage\
Python Script Folder - ...\homepage\python\

当我将脚本放在 python 文件夹中时,无论我使用什么,php 都不会执行它。

试过了:

<?php
exec("/python/myscript.py")
?>

<?php
exec("//python//myscript.py")
?>

<?php
exec("\python\myscript.py")
?>

<?php
exec("\\python\\myscript.py")
?>

<?php
exec("python/myscript.py")
?>

<?php
exec("python\myscript.py")
?>

<?php
exec("../python/myscript.py")
?>

所有这一切都没有启动该死的东西。我究竟做错了什么 :[

【问题讨论】:

  • exec("python/myscript.py") 应该可以工作。但是试试exec(__DIR__ . "/python/myscript.py")
  • @binarious - 两者似乎都失败了...... :(
  • 也许因为它在一个文件夹中,python 脚本本身就失败了。也许制作一个简单的 py 脚本并输出一些文本。我不确定python脚本在做什么,也没有从php运行过py,所以这可能根本没有帮助:)
  • 可能是路径问题..您是否尝试先执行一个php文件然后责备py
  • 你可以做的是制作一个主要的python脚本来运行你需要的所有其他脚本。这行得通吗?

标签: php python exec subdirectory


【解决方案1】:

您是否尝试过直接调用 python 可执行文件?它对我有用。我有一个这样的 myscript.py:

print 'hello'
print 'world'

然后把它放在一个名为 temp/ 的目录中。

我的 php 在名为 temp.php 的文件中,如下所示:

<?php
exec('python temp/myscript.py',$output);
print_r($output);
?>

然后我运行它,结果如下:

$ php temp.php
Array
(
    [0] => hello
    [1] => world
)

【讨论】:

    猜你喜欢
    • 2019-06-04
    • 1970-01-01
    • 2023-01-27
    • 2014-06-12
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    相关资源
    最近更新 更多