首页 > 解决方案 > 在 Python 中导入由 PHP 调用的库

问题描述

我正在尝试从 PHP 文件中调用 Python 脚本,但是当我必须加载本地库时它会失败。如果我的 PHP 不加载本地库,我的 PHP 能够调用我的 python,并且我的 python 脚本在手动启动时可以工作。

以下是最小(非)工作文件:

index.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
  </head>
  <body>
    <?php
      $command = escapeshellcmd ("./getter.py") ;
      $output = shell_exec ($command) ;
      echo "<p>$output</p>" ;
    ?>    
  </body>
</html>

getter.py

#!/usr/bin/env python2
import got
if __name__ == "__main__" :
  print "Python2 working"

got当地著名的图书馆在哪里。

当我手动启动./getter.py打印时,我的网页没有显示任何内容。当我评论时import got,网页也显示打印。

附加信息 :

这是一个文件夹树:

├── getter.py
├── got
│   ├── __init__.py
│   ├── manager
│   │   ├── __init__.py
│   │   ├── TweetCriteria.py
│   │   └── TweetManager.py
│   └── models
│       ├── __init__.py
│       └── Tweet.py
├── index.php
├── __init__.py
└── lib
    ├── __init__.py
    └── toto.py

非常感谢。

标签: phppythonpython-importcross-language

解决方案


这实际上是由依赖问题引起的。一些只为某些用户安装的必需库。Nginx 不能以 root 身份访问它,而普通用户可以。


推荐阅读