【问题标题】:What is the right path for PHP includes on a Mac?Mac 上 PHP 的正确路径是什么?
【发布时间】:2011-01-27 05:39:36
【问题描述】:

运行 Mac OS X 10.5.8,预装 PHP 5.2.11。使用 Coda 1.6.10。

我正在编写 PHP 文件,然后从文件而不是服务器运行预览它们。在我尝试 PHP 包含之前,这一切正常。这些不能作为相对路径,只能作为驱动器根目录的绝对路径。

有什么方法可以使用像

这样的语句

include_once "common/header.php";

没有像这样指定我的整个文件路径:

include_once "/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLists_v1.0/common/base.php";

,其中 ColoredLists_v1.0 是包含所有网站文件的目录。我尝试了诸如将 _SERVER[DOCUMENT_ROOT] 或 dirname(File) 附加到文件路径之类的解决方案,但这不起作用,因为未设置变量。有什么简单的方法可以做到这一点,或者我可以更改配置,使其默认查看特定目录而不是查看驱动器根目录?目前, echo_include_path 显示。:

当我在脚本开头包含这一行时,它可以工作:

set_include_path('/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLists_v1.0');

但是,如果我想对所有脚本执行此操作,我似乎无法使更改永久化。即使我在 php.ini 中编辑了 Unix include_path,它似​​乎也不起作用。

更新:我最终决定最简单的可靠方法是在本地运行 Apache 服务器。它预装了Mac,所以在那里没有遇到太多麻烦。我修改了 httpd.conf 以仅允许来自本地主机的连接,从而减轻了我的安全担忧。当然,这仍然打开了 80 端口,但我在路由器后面,所以我希望我不是很暴露。 Coda 在“站点”中包含一个很棒的功能,我可以在其中设置本地 url,所以它现在运行得很好。唯一的缺点是,现在,在代码编辑之后,我需要手动刷新预览。

【问题讨论】:

  • 从“文件”和“不是从服务器”工作是什么意思?命令行而不是 Apache?
  • 是的@zneak。 PHP 文件只是由 PHP 从文件中处理,然后在浏览器中呈现输出的 html 文件。请求不会到达服务器,请求页面,然后返回呈现的 html。所以这里没有 htaccess 或 apache 配置的问题。

标签: php macos include server-side-includes include-path


【解决方案1】:

你可以试试这个方法。

require_once(dirname(__FILE__) . '/example.php');

【讨论】:

    【解决方案2】:

    试试

    set_include_path(
        '/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLists_v1.0' .
        PATH_SEPARATOR . 
        get_include_path());
    

    在共享的包含文件中

    或编辑您的 php.ini 并更改 include_path 变量(我使用的是 MAMP,因此无法告诉您 php.ini 的确切路径)

    【讨论】:

      【解决方案3】:

      这确实是一个 include_path 问题。默认好像是.:/usr/lib/php;也许如果您从脚本所在的目录启动 PHP 命令,就可以了?

      【讨论】:

        【解决方案4】:

        这对我来说每次都有效:

        <?php require_once($_SERVER['DOCUMENT_ROOT'] . '/common/header.php'); ?>

        【讨论】:

        • 我认为 $_SERVER 变量中的任何一个都不会起作用,考虑到它在命令行而不是服务器上运行 PHP。我不知道。以后我还是会试试看的。
        猜你喜欢
        • 1970-01-01
        • 2015-01-10
        • 1970-01-01
        • 2013-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-25
        相关资源
        最近更新 更多