我正在尝试在Apache中设置Alias以用于我所有PHP脚本所在的PHP文件。通常,我们写道:
Alias /php-bin/ "/var/www/php-bin/"
不幸的是,这对PHP不起作用:
<?php require /php-bin/file.php; ?>
Apache仍然了解Alias(我做了一些测试),然而PHP并没有按照预期的方式找到Alias。
我使用PHP作为Apache模块而不是CGI。有人知道吗?
解
使用php.ini中的include_path设置或symlink目录,以便PHP中的require函数可以在不使用Apache Alias的情况下找到文件。在我的上面的最后一个解决方案包括在我的文件系统中创建一个名为/ php-bin的新文件夹,然后将其符号链接到/ var / www / php-bin。
答案 0 :(得分:4)
可能是因为包含和要求使用文件系统引用,并且引导/引用文件系统根目录。 PHP不会引用Apache别名,也不会将Web服务器htdocs目录视为root:它将include目录引用视为绝对(当使用前导/时)或相对使用include_path设置时它是相对引用。
修改强>
您可以尝试将/ var / www / php-bin /添加到php.ini中的include_dir,然后只需在代码中使用require'file.php'(删除/ php-bin /目录引用)。 / p>