V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yifeng
V2EX  ›  PHP

求大神!!! php 调用 python 脚本不执行,是啥情况???

  •  
  •   yifeng · 2015-06-25 12:46:42 +08:00 · 6323 次点击
    这是一个创建于 3468 天前的主题,其中的信息可能已经有所发展或是发生改变。
    php:
    <?php
    $cmd = system("/usr/bin/python test.py",$ret);
    print_r($cmd);
    echo "ret is".$ret;
    ?>

    python:
    #!/usr/bin/python
    import os
    result = os.system('reboot');

    ----------------------------------------------------------------------
    直接用python test.py可以实现机器重启,但是在php页面调用不可以,而且$ret的返回值是0

    从网上搜了很多解决方案,大都跟权限有关,都试过了还是不行,求大神怎办!!!
    6 条回复    2015-06-26 04:28:02 +08:00
    cylin
        1
    cylin  
       2015-06-25 13:10:11 +08:00   ❤️ 1
    test.py和php脚本不在同一目录下吧,加上py脚本的完整路径,或者先设置正确的工作目录
    https://secure.php.net/manual/zh/function.getcwd.php
    https://secure.php.net/manual/zh/function.chdir.php
    另外。。既然python中只是执行reboot,为什么不直接用php调用呢
    yangtukun1412
        2
    yangtukun1412  
       2015-06-25 13:19:27 +08:00
    权限问题吧...
    yifeng
        3
    yifeng  
    OP
       2015-06-25 13:22:36 +08:00
    @cylin 谢谢回复,不好意思,python里是我临时添加的,因为涉及到公司业务,这里不方面贴代码
    vibbow
        4
    vibbow  
       2015-06-26 00:00:16 +08:00
    干嘛不直接用PHP重启....
    就算PHP权限不够的话,也可以在PHP里直接ssh连接到自身,然后重启啊......
    ryd994
        5
    ryd994  
       2015-06-26 01:02:03 +08:00 via Android
    testpy加hashbang加x权限直接调用试试
    q84629462
        6
    q84629462  
       2015-06-26 04:28:02 +08:00 via Android
    php.ini有没有禁用system?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:15 · PVG 00:15 · LAX 08:15 · JFK 11:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.