0
我遇到了一个问题,我试图使用ssh远程执行一个php文件。该PHP文件应该做一个JSON文件,也回声“嗨”。它回声的“嗨”,但从来没有创建JSON文件。远程执行PHP文件来创建JSON文件
所有文件和目录都设置为-rwxrwxrwx或drwxrwxrwx。只有两台服务器上的用户名都是“root”。应用程序服务器的PW预先保存在主服务器上。
主服务器
ssh [email protected] 'php /test/example/makeconfig.php'
应用服务器
makeconfig.php
<?php
$return_arr = array('ID' => 50, 'password' => "testpassword");
$json_data = json_encode($return_arr);
file_put_contents("config.json", $json_data);
echo "hi";
?>
我运行从控制台主服务器的代码。它将在主服务器的控制台屏幕上输出“hi”,但是当我转到应用程序服务器时,它不会创建文件“config.json”。如果我在应用服务器上运行命令
php /test/example/makeconfig.php
它将输出“喜”,也创造了config.json文件。
我只是不确定为什么配置文件不会创建如果PHP文件从远程服务器执行。 感谢您的帮助。
我删除了说明中“不要使用”标签的标签。 – GolezTrol 2014-12-11 00:22:38
脚本本身并没有失败,因为你得到了echo,但也许'file_put_contents'失败了。你有没有试图检查其结果?它根据结果返回一个整数或“false”。另外,你有没有试过指定完整的路径,所以你知道文件存储在正确的目录? – GolezTrol 2014-12-11 00:24:44
当你运行这些命令并且它们工作时,你是否将它们作为根目录的主目录运行? – Phil 2014-12-11 00:25:01