PHP:如何将当前工作目录设置为与执行脚本的目录相同

MF8*_*F86 19 php getcwd

我正在将我的网站从一台服务器转移到另一台服务器.我有一些PHP脚本使用is_readable函数,它使用当前的工作目录.

在旧服务器上,当我调用getcwd()时,它会输出正在执行脚本的文件夹.在新服务器上,它输出根目录'/'.

我想知道如何配置PHP以使用当前文件夹而不是'/'. 我不想更改任何已在旧服务器上运行的PHP代码.我可以配置新服务器,但不知道要更改的设置.我正在使用apache2,如果这有帮助的话.

编辑:好像我的工作目录不像我想的那样.当我创建一个testFile.php和echo getcwd()时,它显示了php文件所在的目录.但在我的问题文件中,在同一目录中,getcwd()显示为'/'

Cze*_*ogy 22

chdir(__DIR__);

要么

chdir(dirname(__FILE__));

(见chdir魔术常数).

但那应该是默认的.


Pek*_*ica 7

CLI模式下,这是正常现象

它不会将工作目录更改为脚本的目录。(为兼容起见,保留了-C和--no-chdir开关)

一个快速的解决方法是

chdir(dirname(__FILE__));
Run Code Online (Sandbox Code Playgroud)