【问题标题】:php.ini include_pathphp.ini 包含路径
【发布时间】:2012-03-09 20:21:04
【问题描述】:

我到处搜索,似乎无法找到答案。我正在尝试在本地 wamp 服务器的 php.ini 文件中设置包含路径。我目前不明白以下两件事之一:

  1. 包含路径设置本身的引号中的内容。
    例如,如果我想添加C:\wamp\www 作为包含路径,会是
    include_path = ".;C:\wamp\www\"吗?
  2. 包含路径行的放置位置。我可以把它放在任何地方,还是必须放在特定的地方?

我在检查过的研究中读到的一些常见错误。

  • 我正在编辑位于C:\wamp\bin\php\php5.3.8 的 php.ini 文件
  • 我在进行更改后重新启动了服务器,并使用phpinfo() 函数检查了它是否已更新。

更新
这是我目前拥有的,但它仍然不起作用。

; Windows: "\path1;\path2"
include_path = ".;C:\php\pear;C:\wamp\www"

【问题讨论】:

  • 包含路径正确,调用phpinfo()时显示。那你怎么能说它不起作用呢?
  • 由于某种原因,它没有显示在我的 phpinfo 中……也许是我的系统或其他原因
  • 而且你的 phpinfo() 还显示你正在编辑的 php.ini 实际上是加载的那个?
  • Apache 从 wamp\bin\apache\Apachex.y.z\bin\php.ini 文件中读取。您应该将 include_path 添加到该 php.ini 文件并重新启动您的 wamp 服务

标签: php include-path


【解决方案1】:

这一切都取决于您要完成的工作。就个人而言,我不会直接编辑 php.ini 文件来设置 include_paths,而是在代码中使用以下构造:

// This will append whichever path you would like to the current include path
// PHP is smart enough to convert / with \ if on a Windows box
// If not you can replace / with DIRECTORY_SEPARATOR
set_include_path(get_include_path() . PATH_SEPARATOR . 'my/custom/path');

-- 编辑--

您的系统上可能有多个 php.ini 副本,而您没有编辑 PHP 正在使用的那个。

【讨论】:

  • 我可以将其用作临时修复,但我宁愿将其放入 php.ini 文件中,因为我希望更改是全局的,而无需将代码添加到每个文件中。
  • 明白。我使用 MVC,所以我通过一个脚本设置所有 include_path 指令,它会影响整个应用程序。
  • 以后如果有人提到这个,请看下面的解决方案。我已将此标记为答案,因为他已在对我所发的帖子的评论中解决了这个问题
【解决方案2】:

如果您发现此线程并且您使用的是 WAMPServer 的当前版本,您可能会遇到我在编辑 phpinfo() 报告中引用的 php.ini 时遇到的问题,但它不会更改包含路径.搜索 WAMP 目录显示了指定包含路径的 2 个 DLL(在 php 和 apache 目录中都名为 php5ts.dll)。请改用 Bitnami WAMP 环境 (https://bitnami.com/stack/wamp/installer)。 加油!

【讨论】:

    【解决方案3】:

    当我试图调试为什么我的 php.ini 文件中的 include_path 没有生效时,点击这个链接。我正在谈论使用 bitnami api 设置的 ubuntu。解决方案是正确使用 ./ctlscript 重新启动 php-fpm。仅重新启动 apache 但也必须重新启动 php-fpm。

    希望能帮助有人在 ubuntu 中使用 bitnami 灯组进行尝试。

    【讨论】:

      【解决方案4】:

      php.ini 文件中已经包含 include_path,但已被注释掉,这就是您应该放置它的位置,方法是取消注释。它也有窗口的例子。它看起来像这样,只需删除“include_path”前面的分号

      ; Windows: "\path1;\path2"
      ;include_path = ".;c:\php\includes"
      

      【讨论】:

      • 这是正确的吗? ; include_path = ".;c:\php\includes;c:\wamp\www"
      • 可以,但是去掉 ;从行首开始;是 ini 文件语法中的注释。
      • 你重启了php吗?还是服务器?
      • 我的 php7.3.3 安装在 c:\php73 中,但是里面没有 pear 或 includes 文件夹...你应该创建一个空文件夹供 php 使用吗?
      猜你喜欢
      • 1970-01-01
      • 2012-03-10
      • 2012-11-16
      • 2012-04-22
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      相关资源
      最近更新 更多