PHP:如何将当前工作目录设置为与执行脚本的目录相同
我正在将我的网站从一台服务器转移到另一台服务器。我有一些使用 is_read 函数的 php 脚本,该函数使用当前工作目录。
在旧服务器上,当我调用 getcwd() 时,它会输出正在执行脚本的文件夹。在新服务器上,它输出根目录“/”。
我想知道如何配置 PHP 使用当前文件夹而不是“/”。 我不想更改任何已在旧服务器上运行的 PHP 代码。我可以配置新服务器,但不知道要更改哪些设置。我正在使用 apache2,如果有帮助的话。
编辑:似乎我的工作目录不像我想象的那样是根目录。当我创建 testFile.php 并 echo getcwd() 时,它显示 php 文件所在的目录。但是在我的问题文件中,在同一目录中,getcwd() 显示为“/”
I'm in the process of transferring my website from one server to another. I have some php scripts that use the is_readable function which uses the current working directory.
On the old server, when I call getcwd(), it outputs the folder in which the script is being executed. On the new server it outputs the root directory '/'.
I would like to know how I can configure PHP to use the current folder instead of '/'. I don't want to have to change any PHP code that already works on the old server. I can configure the new server, but don't know what settings to change. I'm using apache2, if that helps.
EDIT: It seems as though my working directory is not root like I thought. When I create a testFile.php and echo getcwd() it shows the directory the php file is in. But in my problem file, in the same directory, getcwd() shows up as '/'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
chdir(__DIR__);
或
chdir(dirname(__FILE__));
(参见 chdir 和 魔法常量)。
但这应该是默认的。
chdir(__DIR__);
or
chdir(dirname(__FILE__));
(see chdir and magic constants).
But that should be by default.
这在 CLI 模式下是正常的:
一个快速的解决方法是
This is normal in CLI mode:
a quick workaround would be
如果>= PHP 5.3,您可以使用
dirname(__FILE__)
或__DIR__
获取脚本所在的当前目录。You can get the current directory a script is in with
dirname(__FILE__)
or__DIR__
if >= PHP 5.3.