执行通过PHP的exec一个脚本,创建服务器
问题描述:
我有一个PHP脚本调用一个shell脚本如下的一个文件 -执行通过PHP的exec一个脚本,创建服务器
#!/bin/bash
timestamp=$(date +"%d-%m-%Y %H:%M:%S")
echo $timestamp >> results
PHP脚本 -
<?php
$mycmd = exec('/bin/bash exectest.sh',$op,$er);
var_dump($mycmd);
var_dump($op);
echo $er."\n";
?>
PHP脚本返回错误代码1为$呃,但是当我试图修改shell脚本只是打印而不是写入文件。 Php脚本然后返回0并成功。
任何想法,我需要解决这个问题? 我曾尝试给出脚本的完整路径,当我尝试使用python脚本代替shell脚本时,情况也是如此。
答
您的观察表明这很可能是许可问题,例如,运行PHP的用户没有对其当前工作目录中的文件results
或目录本身(如果该文件尚不存在)的写入权限。
答
它碰巧在AFS机器上运行,因此需要httpd的权限。
fs sa . http write
排序问题。