我正在尝试从命令行运行此脚本:
#!/usr/local/bin/php
<?php
$myfile = fopen("cc.log", "a") or die("Unable to open file!");
$txt = "Success \n";
fwrite($myfile, $txt);
fclose($myfile);
?>
它有效,但只有当我进入脚本目录并运行时才会运行:
/usr/local/bin/php test_script.php
这也有效:
/usr/local/bin/php /home/<username>/public_html/test_script.php
但不是在我离开目录时。
答案 0 :(得分:1)
通过更改test_script.php
的第3行来解决:
$myfile = fopen("cc.log", "a") or die("Unable to open file!");
到绝对路径:
$myfile = fopen("/home/<username>/public_html/cc.log", "a") or die("Unable to open file!");
原始脚本在调用命令的目录中创建了一个cc.log
文件,并附加了大约50&#34;成功&#34;消息xD
答案 1 :(得分:0)
原始问题的更多正式答案:
您的文件(test_script.php)需要可执行才能从任何地方运行。这可以通过chmod完成:
chmod 755 test_script.php
并导致文件可以通过调用来运行。
./test_script.php
现在,请滚动,你应该能够像这样调用它来运行文件:
./path/to/test_script.php
路径前面的那个点应该允许你将脚本作为可执行文件运行而不做任何其他事情。
希望它有所帮助/有效!
(如果它没有工作评论,我会启动我的Linux机器并尝试复制它!)
修改强>
好吧,奇怪的是它不起作用!射击!您的Linux服务器上是否安装了PHP CLI(命令行界面)?如果是这样,我会鼓励你尝试:
php /path/to/your/test_script.php
希望第二条建议有所帮助!
编辑2
啊哈时刻2号!!
我相信你的php应该安装在这里:/usr/bin/php
,将它放在本地文件夹中将不允许你从另一个目录中正确地调用它!
要自行下载php的新安装,请运行
sudo apt-get install php5 libapache2-mod-php5
您还必须将脚本标题更改为#!/usr/bin/php
。
这是第三次编辑的good source!我真的希望它有所帮助!