gpt4 book ai didi

php - 与 PHP 一起使用的 Apache Alias 或 ScriptAlias 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:36 27 4
gpt4 key购买 nike

我正在尝试在 Apache 中设置别名以用于我所有 PHP 脚本所在的 PHP 文件。通常,我们写:

Alias /php-bin/ "/var/www/php-bin/"

不幸的是,这不适用于 PHP:

<?php require /php-bin/file.php; ?>

Apache 仍然理解别名(我做了一些测试),但是 PHP 没有按照预期的方式找到别名。

我将 PHP 用作 Apache 模块而不是 CGI。有人知道吗?


解决方案

使用 php.ini 中的 include_path 设置或符号链接(symbolic link)目录,以便 PHP 中的 require 函数无需使用 Apache 别名即可找到文件。在我上面的例子中,最后一个解决方案包括在我的文件系统中创建一个名为/php-bin 的新文件夹,然后将它符号链接(symbolic link)到/var/www/php-bin。

最佳答案

可能是因为include和require使用了文件系统引用,而前导/指的是文件系统根目录。 PHP 不会引用回 Apache 别名,或将 Web 服务器 htdocs 目录视为根目录:它将您的包含目录引用视为绝对引用(当您使用前导/时)或相对引用,当它是相对引用时使用 include_path 设置。

编辑

您可以尝试将/var/www/php-bin/添加到 php.ini 中的 include_dir,然后在您的代码中简单地使用 require 'file.php'(删除/php-bin/目录引用)。

关于php - 与 PHP 一起使用的 Apache Alias 或 ScriptAlias 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3683754/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com