2009-05-05 35 views
2

我和朋友正在爲一系列遊戲創建日誌解析器。我們用PHP/MySQL寫了前端(web),用Perl寫了解析器(當然也使用MySQL)。現在我們遇到了讓這兩個人進行溝通的問題。如何從apache的PHP頁面調用Perl?

我們所要做的只是這樣:一個管理頁面在線,您可以在那裏獲得「解析」按鈕。當你點擊這個Perl腳本應該開始。像 「EXEC(」 perl的/home/www/Init.pm -f games_mp.log「)。

這可能嗎?請記住,它的假設是容易建立。

我們已經嘗試了一切從系統/ EXEC爲.htaccess,但似乎沒有任何工作開箱即用。不工作的真。

建議?

拉卡=)

+0

當您嘗試運行system()/ exec()調用時會出現什麼錯誤? – 2009-05-05 23:02:01

+0

403禁止.. – 2009-05-05 23:11:18

+1

等一下,您在調用exec時會收到403 Forbidden錯誤?我不認爲執行/系統是你的問題。 – 2009-05-05 23:16:56

回答

0

我很遺憾地說沒有簡單的方法來設置它。不同的服務器有不同的默認apache配置。

你可能要做的是在服務器配置,虛擬主機配置,目錄配置或者如果設置正確,.htaccess中添加以下行。

AddHandler cgi-script .cgi .pl .pm

您的用戶還需要chmod和適當chown將此文件。

事情是,這聽起來像一個漫長的過程。如果是這樣,那麼運行Web瀏覽器可能需要很長時間纔會完成。如果是這樣的話,你可能需要設置某種工作隊列,並且每隔5分鐘就有一個基於cron腳本的exec。

1

我願意打賭你正在運行進入路徑錯誤,嘗試提供Perl可執行文件的完整路徑,例如:

exec("/usr/bin/perl /home/www/Init.pm -f games_mp.log") 
2

爲什麼不使用mod_perl來運行Perl腳本,好像它們是來自jQuery的網頁?

0

在PHP中,許多事情取決於配置。嘗試查看它,因爲許多操作員可能被禁用。

檢查Perl程序是否有正確的權限。嘗試從命令行運行Perl程序。