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

PHP在Mac上的正确路径是什么?,php,macos,include,server-side-includes,include-path,Php,Macos,Include,Server Side Includes,Include Path,运行MacOSX10.5.8,预装了PHP5.2.11。使用尾波1.6.10 我正在编写PHP文件,然后预览它们从文件运行,而不是从服务器运行。在我尝试PHP includes之前,这一切都很好。这些路径不是相对路径,而是从驱动器根开始的绝对路径 我有没有办法使用这样的语句 包括_once“common/header.php” 不指定我的整个文件路径,如下所示: 包括“_once”/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLi

运行MacOSX10.5.8,预装了PHP5.2.11。使用尾波1.6.10

我正在编写PHP文件,然后预览它们从文件运行,而不是从服务器运行。在我尝试PHP includes之前,这一切都很好。这些路径不是相对路径,而是从驱动器根开始的绝对路径

我有没有办法使用这样的语句

包括_once“common/header.php”

不指定我的整个文件路径,如下所示:

包括“_once”/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLists_v1.0/common/base.php”

,其中ColoredLists_v1.0是包含所有网站文件的目录。我尝试了一些解决方案,比如在文件路径前加上_SERVER[DOCUMENT_ROOT]或dirname(File),但由于没有设置变量,所以没有起作用。有什么简单的方法可以做到这一点,或者我可以更改一个配置,使它在默认情况下查看特定目录,而不是查看驱动器根目录?目前,echo_include_路径显示:

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

设置包含路径('/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLists_v1.0')

然而,如果我想对我所有的脚本都这样做,我似乎无法使更改永久化。即使我在php.ini中编辑了Unix include_路径,它似乎也不起作用


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

您可以尝试这种方法

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

在共享的include文件中


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

这确实是一个include\u路径问题。默认值似乎是
:usr/lib/php
;也许如果您从脚本所在的目录启动PHP命令,就可以了?

我每次都可以这样做:


从“文件”和“不从服务器”工作是什么意思?命令行而不是Apache?是@zneak。PHP只是通过PHP处理文件,然后在浏览器中呈现输出html文件。请求不会转到服务器,请求一个页面,然后返回呈现的html。因此,这里没有htaccess或apache config的问题。考虑到它在命令行之外运行PHP,而不是服务器,我认为任何$\u服务器变量都不起作用。我不知道。我以后还会试试的。
set_include_path(
    '/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLists_v1.0' .
    PATH_SEPARATOR . 
    get_include_path());