代码之家  ›  专栏  ›  技术社区  ›  Neil

PHP在Mac上的正确路径是什么?

  •  3
  • Neil  · 技术社区  · 14 年前

    运行Mac OS X 10.5.8,预装了php 5.2.11。使用CODA 1.6.10。

    我正在编写PHP文件,然后预览它们从文件而不是服务器运行。在我尝试php-include之前,它一直工作得很好。这些不会作为相对路径工作,只是作为驱动器根目录的绝对路径。

    我有什么方法可以使用像

    包括“common/header.php”一次;

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

    包括\u once“/volumes/macintosh hd/users/neil/desktop/website/coloredlists\u v1.0/common/base.php”;

    ,其中coloredlists_v1.0是包含所有网站文件的目录。我尝试了一些解决方案,比如预挂服务器[文档根目录]或目录名( 文件 )到文件路径,但由于变量未设置,因此无法工作。是否有任何简单的方法可以做到这一点,或者我可以更改配置,使其在默认情况下在特定目录中而不是在驱动器根目录中查找?目前,echo_包括\u路径显示:

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

    设置“include”路径(“/volumes/macintosh hd/users/neil/desktop/website/coloredlists_v1.0”);

    但是,如果我想对所有脚本都这样做,我似乎无法使更改永久化。即使在我的php.in i中编辑了unix include_路径之后,它似乎也不起作用。

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

    4 回复  |  直到 13 年前
        1
  •  2
  •   Can Aydoğan    14 年前

    你可以试试这个方法。

    require_once(dirname(__FILE__) . '/example.php');
    
        2
  •  0
  •   Steve    14 年前

    尝试

    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
  •  0
  •   zneak    14 年前

    这确实是一个包含路径问题。违约似乎是 .:/usr/lib/php ;如果您从脚本所在的目录中启动了php命令,那么这会很好吗?

        4
  •  0
  •   Matt Ryan    13 年前

    每次对我来说都是这样:

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