我的电脑运行的是Mac OS X 10.5.8操作系统,预安装了PHP 5.2.11版本。我使用Coda 1.6.10进行编码。
我在写PHP文件,并通过文件而非服务器来预览它们。这一切都很顺利,直到我尝试使用PHP include功能时。相对路径无法正常工作,只能使用绝对路径从驱动器根目录开始。
是否有任何方法可以使用类似于
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,因此现在工作得非常出色。唯一的缺点是,现在在代码编辑后,需要手动刷新预览。