我正在将我的PHP文件迁移到新服务器。在旧服务器上,我在require_once
和include_once
指令中使用了绝对URL。更清楚的是,绝对URL指定存储index.html
的位置。
但是,新服务器需要相对URL。因此,如果A.php
要求包含B.php
,则必须指定B.php
中A
的相对路径。
php.ini
中是否有设置强制PHP解释器接受绝对URL?
答案 0 :(得分:0)
不,没有。如果您将路径设置为var/www/something.php
它是相对的,如果您将路径设置为/var/www/something.php
(或Windows中的C:\\var\\www\\something.php
),那么它是绝对的
答案 1 :(得分:0)
有一种方法可以将新服务器配置为相对于index.html
接受您的网址。
您正在include_path
中寻找指令php.ini
。
解决方案是使用index.html
(在您站点的根目录中)在同一目录中创建php.ini文件并设置:
include_path="/path/to/your/directory"
然后,所有include
和require
指令将首先尝试搜索指定目录中的文件。
以下是此指令的文档:http://php.net/manual/en/ini.core.php#ini.include-path
请注意,并非所有托管服务提供商都允许您使用自己的php.ini
文件。我的意思是,有时新的php.ini
被忽略了。然后,您需要找到一种更改原始php.ini
其他方式是使用$_SERVER['DOCUMENT_ROOT']
常量:
include_once $_SERVER['DOCUMENT_ROOT'] . '/file.php';