我的朋友和我正在为一系列游戏创建一个日志解析器。我们在PHP / MySQL中编写了前端(web),在Perl中编写了解析器(当然也使用了MySQL)。现在我们在让这两个人沟通方面遇到了问题。
我们不想做的就是:在线管理页面,您可以点击“解析”按钮。单击此按钮时,应启动Perl脚本。比如“exec(”perl /home/www/Init.pm -f games_mp.log“)。
这可能吗?请记住,它可以很容易设置。
我们已尝试过从system / exec到.htaccess的所有内容,但似乎没有任何东西可以开箱即用。根本不工作。
建议?
laka =)
答案 0 :(得分:2)
为什么不使用mod_perl来运行Perl脚本,好像它们是来自jQuery的网页?
答案 1 :(得分:1)
我愿意打赌你遇到了路径错误。尝试提供Perl可执行文件的完整路径。例如:
exec("/usr/bin/perl /home/www/Init.pm -f games_mp.log")
答案 2 :(得分:0)
我很遗憾地说没有简单的方法来设置它。不同的服务器配有不同的默认apache配置。
您可能要做的是在服务器配置,虚拟主机配置,目录配置中添加以下行,或者,如果正确设置,.htaccess。
AddHandler cgi-script .cgi .pl .pm
您的用户还需要适当地chmod和chown文件。
事情是,这听起来像一个漫长的过程。如果是,那么运行Web浏览器可能需要很长时间才能完成。如果是这种情况,你可能想要设置某种作业队列,并且每5分钟左右就有一个基于cron脚本的exec。
答案 3 :(得分:0)
在PHP中很多东西都依赖于配置。尝试查看它,因为可以禁用许多运算符。
检查Perl程序是否具有正确的权限。尝试从命令行运行Perl程序。