在 PHP 中,使用 CLI 时确保当前工作目录与脚本相同的最佳方法

Posted

技术标签:

【中文标题】在 PHP 中,使用 CLI 时确保当前工作目录与脚本相同的最佳方法【英文标题】:In PHP, Best way to ensure current working directory is same as script , when using CLI 【发布时间】:2010-09-16 13:34:37 【问题描述】:

通过 cli 调用 php 时,当前目录不会更改为脚本所在的目录。我在 crontab 中运行的所有脚本都是通过 CLI 运行的,所以这是一个问题。

我目前正在修复这个问题,方法是使用脚本所在的绝对路径执行 chdir(),但我真的不喜欢将路径硬编码成这样的东西。

我正在寻找最便携/最可靠的方法来确保当前工作目录是它所在的脚本所在的目录。

【问题讨论】:

【参考方案1】:
chdir(dirname(__FILE__));

【讨论】:

【参考方案2】:

您可以使用__FILE__ 获取执行文件本身的完整绝对路径:

<?php
echo "I'm here: ".__FILE__."\n";
?>

请参阅the documentation 了解更多信息。

【讨论】:

以上是关于在 PHP 中,使用 CLI 时确保当前工作目录与脚本相同的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

Hive-1.2.1_02_简单操作与访问方式

CentOS 6.8 PHP-FPM 无法与 PHP CLI 一起正常工作

确保PHP CLI进程始终处于活动状态

一些需要禁用的PHP危险函数(disable_functions)

如何设置PhpStorm以便Docker Compose Interpreter可以使用PHP可执行文件?

PHP多进程初步