来自命令行的PHP文件路径不同

时间:2018-05-23 08:56:28

标签: php shell command-line command-line-interface

如果我通过浏览器运行这个简单的代码,它会正常工作,并在与脚本相同的位置创建“text.txt”。

 <?php

    $op = fopen('text.txt', 'w');

    fwrite($op, 'test');

    fclose($op)

    ?>

但如果我使用命令行

运行
php script.php

它在完全不同的目录中创建文件。

为什么运行浏览器和命令行会使相同的脚本表现不同?!

要解决此问题,我需要填写完整路径:fopen('/home/user/site.com/subfolder/text.txt', 'w');

我有一个包含许多行和许多文件路径的脚本,更改所有内容的工作量太大了。如何在不将完整路径放入文件的情况下解决此问题。

2 个答案:

答案 0 :(得分:1)

打开终端并输入:

cd /home/user/site.com/subfolder

然后运行:

php script.php

答案 1 :(得分:0)

start_script.sh

#!/bin/bash
cd /to/location/of/script
php script.php