Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在客户端从php执行python脚本_Javascript_Php_Python_Html_Ajax - Fatal编程技术网

Javascript 无法在客户端从php执行python脚本

Javascript 无法在客户端从php执行python脚本,javascript,php,python,html,ajax,Javascript,Php,Python,Html,Ajax,我对PHP和Apache非常陌生 我正在构建一个小网页,只要在客户端计算机上点击一个按钮,它就可以在服务器上运行一些python代码。为了做到这一点,我在网上读了几篇文章,它们告诉我PHP是实现这一点的方法。我还读到我不需要AJAX。我对PHP、AJAX和相关技术的理解还处于初级阶段 我的RHEL6.5机器上运行着一台Apache服务器。 我有PHPV5.3.3和PythonV2.6 PHP脚本(script.PHP): <?php echo shell_exec("python pyte

我对PHP和Apache非常陌生

我正在构建一个小网页,只要在客户端计算机上点击一个按钮,它就可以在服务器上运行一些python代码。为了做到这一点,我在网上读了几篇文章,它们告诉我PHP是实现这一点的方法。我还读到我不需要AJAX。我对PHP、AJAX和相关技术的理解还处于初级阶段

我的RHEL6.5机器上运行着一台Apache服务器。 我有PHPV5.3.3和PythonV2.6

PHP脚本(script.PHP):

<?php
echo shell_exec("python pytest.py");
?>
  • 我不确定这是否是因为权限,所以我做了一个测试

    chmod 777 -R /var/www 
    
    即使在那时,我也有同样的问题

  • 我不确定哪里出了问题,所以我对PHP脚本(script.PHP)又做了2处更改:

    
    
    在这里-第二行在浏览器中工作,第一行不工作。这意味着我的python部分没有被执行

  • 我在某个地方读到,这是否是一个问题,因为我的Apache服务器没有以root权限运行。作为一个新手,我不知道如何检查


    如果需要更多信息,我可以在后续编辑中提供详细信息。

    尝试放置文件的完整路径。在您的例子中,您只需要说
    'pytest.py'
    ,所以用完整路径替换它

    这样做会导致如下结果:

    <?php
        echo shell_exec("/usr/bin/python /home/username/scripts/pytest.py");
    ?>
    
    
    

    (另外,您在
    usr/bin/python
    前面遗漏了一个
    /

    可能是因为shell的参数没有从根目录执行它吗?尝试echo shell_exec(“/usr/bin/python pytest.py”)<代码>我对PHP非常陌生-运行!逃跑跑吧,就像你的生命取决于它一样@That1Guy:运行到PHP还是从PHP运行?:)您使用PHP来运行Python吗?我想我快要崩溃了,哭了-(在.htaccess中,您可以告诉Python以CGI脚本的形式执行.py文件。然后添加
    #!/usr/bin/python2.7
    (或任何版本)到文件顶部。
    May 6 18:22:01机器abrt:在'pytest.py'中检测到未处理的Python异常。
    您需要调试Python脚本,处理异常以查看错误是什么。感谢这一点-我刚刚进行了此更正…我的Python脚本位于/var/www/html中,我甚至尝试了另一个位置,但它不起作用kIf如果您的脚本在/var/www/html中,您是否已经尝试了
    “/usr/bin/python/var/www/html/pytest.py”
    ?当您尝试此操作时,错误消息是什么?(或者仍然相同?)我尝试了“/usr/bin/python/var/www/html/pytest.py”-不起作用-抱怨说pytest.pytest找不到。但是,当我尝试“/usr/bin/python pytest.py”时(你的评论对我很有帮助。我已经把python脚本移到了/var/www/html..现在我可以让它工作了。让它在任何文件夹中的任何python脚本上工作都会很好
    cd /var/log/
    tail messages -f
    
    May  6 18:22:01 machine abrt: detected unhandled Python exception in 'pytest.py'
    
    chmod 777 -R /var/www 
    
    <?php
    echo shell_exec("/usr/bin/python /<path>/pytest.py");
    echo shell_exec("ls");
    ?>
    
    <?php
        echo shell_exec("/usr/bin/python /home/username/scripts/pytest.py");
    ?>