我在html页面中有一个表单,其中包含运行php文件的操作。 php文件必须运行bash函数命令,然后运行scrapy蜘蛛。由于我有scrapy蜘蛛位于var / www /之外,我在.bashrc中添加了一个函数来从任何地方运行bash命令($ startscript)。当我在var / www文件夹或终端上运行它时,它按预期工作,但是当我在php文件中执行它时它不起作用。我不确定它是否因为php文件许可,scrapy礼仪或其他原因。
有什么建议吗?
.php文件:
<?php
$output = shell_exec('startscript');
echo $output;
?>
.bashrc文件:
function startscript
{
cd /home/pi/IndeedCoUkCrawl
./BotScrapy.sh
}
答案 0 :(得分:0)
所以你可以尝试:
将startscript的绝对路径放在shell_exec中,看看它是否有效。
尝试使用error_reporting(E_ALL)运行并查看是否有任何错误/通知
检查您的网络服务器是否有权运行该文件。尝试将文件放入与运行Web服务器相同的组中。