[英]PHP absolute relative URL issue during site migration
我正在将PHP文件迁移到新服务器。 在旧服务器上,我在我的require_once
和include_once
指令中使用了绝对URL。 为了更清楚,绝对URL指定了index.html
的存储位置。
但是,新服务器需要相对URL。 因此,如果A.php
要求包含B.php
,则必须指定从A
到B.php
的相对路径。
php.ini
是否有设置可强制PHP解释器接受绝对URL?
不,那里没有。 如果将路径设置为var/www/something.php
是相对的,则如果将路径设置为/var/www/something.php
(或Windows中的C:\\\\var\\\\www\\\\something.php
),则是绝对的
有一种方法可以配置新服务器以接受相对于index.html
URL。
您正在php.ini
中寻找指令include_path
。 解决方案是在与index.html
相同的目录中(在网站的根目录中)创建php.ini文件并设置:
include_path="/path/to/your/directory"
然后,所有include
和require
说明将首先尝试在指定目录中搜索文件。
这是此指令的文档: http : //php.net/manual/zh/ini.core.php#ini.include-path
请注意,并非所有托管服务提供商都将允许您使用自己的php.ini
文件。 我的意思是,有时只是忽略了新的php.ini
。 然后,您将需要找到一种更改原始php.ini
另一种方法是使用$_SERVER['DOCUMENT_ROOT']
常量:
include_once $_SERVER['DOCUMENT_ROOT'] . '/file.php';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.