从命令行运行php脚本时,是否有不同的include_路径?

从命令行运行php脚本时,是否有不同的include_路径?,php,wamp,Php,Wamp,我的require\u once('directory/file.php'),“无法打开required…”出现致命错误。我知道所需文件位于我的php includes文件夹c:\php\u includes\directory\file.php。当我查看phpinfo()时,我看到了正确的include\u路径:“;c:\PHP\u Includes” 但是在命令行错误中,它说include_path=”。;C:\php\pear;C\Projects\project1\classes' 知道

我的
require\u once('directory/file.php')
,“无法打开required…”出现致命错误。我知道所需文件位于我的php includes文件夹
c:\php\u includes\directory\file.php
。当我查看phpinfo()时,我看到了正确的
include\u路径:“;c:\PHP\u Includes”

但是在命令行错误中,它说
include_path=”。;C:\php\pear;C\Projects\project1\classes'


知道为什么运行命令行脚本时路径看起来不同吗?

这个问题与WampServer有大量php ini文件有关。确保它们都与正确的设置保持同步,以避免在使用其中一个而不是另一个时出现问题

非常有用的信息来自:

WampServer中实际上有3个php.ini文件

这就是它们的使用方式

  • C:\Wamp\bin\php\phpX.X.X\php.ini这仅由wampserver和php cli exe使用。WampServer的菜单是使用php构建的,这是 使用的配置文件。如果您通过使用php,也可以使用它 命令行界面。您通常不需要编辑此文件 文件

  • C:\Wamp\bin\php\phpX.X.X\phpforapache.ini这是用于网站的php.ini文件的副本。当使用此版本的php时 使用此文件将复制到apache bin文件夹中。如果你改变 然后清空apache\bin\php.ini的php版本,并 新版本php的phpforapache.ini加载到 已加载apache版本

  • C:\Wamp\bin\apache\apacheX.X.X\bin\php.ini这是为您的网站加载的实际php.ini。只要这是 正在使用的apache版本。这是从相关活动目录复制的 php文件夹(phpforapache.ini)

  • 这似乎有点让人困惑,但对于WampServer来说是必要的 能够轻松更改apache和php的版本。最好 记住是

    如果您想手动编辑网站的php.ini文件,那么 始终使用wampserver菜单打开它。>>左键单击 WampServer图标>php>php.ini

    如果您想为命令行手动编辑php.ini文件,那么 在当前php文件夹中打开php.ini


    您应该通过完整路径引用该文件。我建议使用_DIR__常量,并包含与之相关的文件。i、 e包括(uuu DIR_uuu.'/../path/to/file.php');您知道php cli和php for web server可以使用不同的php.ini文件吗?结果是不同的设置