2013-04-25 184 views
0

在我的debian上運行xampp。我想用php shell_exec執行一個python腳本。 這是我的PHP代碼:如果我用這個從終端窗口中運行它從PHP執行的python腳本給出錯誤

/usr/bin/python: /opt/lampp/lib/libz.so.1: no version information available (required by /usr/bin/python) 

shell_exec("/opt/lampp/htdocs/news/hello.py 2>1 &"); 

當我從瀏覽器中運行它,我得到這個錯誤php /opt/lampp/htdocs/page/index.php它工作沒有任何問題。 因此,任何想法如何使它從瀏覽器工作? 謝謝

+0

這是不一樣的shell。另一個殼體缺少的是什麼。也許只是一個環境變量或它的一個值?比較展臺環境可能會使您更輕鬆地進行故障排除。對不起,我不知道python那麼好,我會知道那個錯誤消息*的意思*。 – hakre 2013-04-25 12:01:29

+0

也許搜索互聯網的錯誤消息是肝,似乎你不是第一個看到它:http://ubuntuforums.org/showthread.php?t=1905963 – hakre 2013-04-25 12:03:36

回答

0

我猜xampp自帶庫而不是使用系統庫,這可能意味着它將LD_LIBRARY_PATH設置爲本地庫目錄。

這也會導致其他程序啓動從PHP使用這些庫,它們可能不兼容。

爲了達到這個目的,試試system("env");,它可以顯示所有導出的環境變量。如果LD_LIBRARY_PATH設置,使用方法:

shell_exec("LD_LIBRARY_PATH= /opt/lampp/htdocs/news/hello.py 2>1 &"); 

跑跑python腳本之前會取消它。

+0

我得到這個 '追蹤(最近呼叫最後): 文件 「/docvert/docvert-cli.py」,第12行,在 進口core.docvert 文件 「/docvert/core/docvert.py」,第9行,在 進口docvert_libreoffice 文件「/ docvert /核心/ docvert_libreoffice.py」,第18行,在 進口烏諾 文件 「/usr/lib/python2.7/dist-packages/uno.py」,線路52,在 _g_ctx = pyuno.getComponentContext( ) SystemError:引導期間出錯uno(RuntimeException):無法打開文件:///root/ure/types.rdb' – gogu 2013-04-26 05:19:13

+0

這意味着python腳本正在運行,但腳本本身存在不同的問題,而不是直接與此相關。你應該爲這個問題開一個新的問題。 – mata 2013-04-26 07:48:21