我最近更新了我的一台服务器,从那以后,我遇到了一些特定PHP命令的问题(见下文).我认为这是一个配置问题,但我已经研究了几件事,不知道任何进一步的事情.所以也许你们其中一个人有个好主意:
我使用以下代码以显示Intranet站点上的标准徽标或用户定义的徽标:
if(L_HEADER) {
$logo = L_HEADER;
}
else {
$logo = 'logo.png';
}
$properties = getimagesize(CONFIG_URL . 'images/' . $logo)
Run Code Online (Sandbox Code Playgroud)
L_HEADER和CONFIG_URL是具有预定义值的常量(另一个文件):
连接正常工作,这也由Apache日志文件的错误消息确认:
PHP警告:getimagesize(http://billing.intranet.opb/images/opb_beta.png):无法打开流:HTTP请求失败!
在第42行的/var/www/billing/templates/header.inc.php中找不到HTTP/1.1 404
所以第一个明显的结论是:路径是错误的.但它不是,相信我.我检查了1.000次.实际上,第一个好奇心是图像在同一文件的代码中进一步向下显示并正确引用了几行:
echo '<img src="' . CONFIG_URL . 'images/' . $logo . '"
width="' . $properties[0] . '" height = "' . $properties[1] . '" />";
Run Code Online (Sandbox Code Playgroud)
当我得到上面提到的错误时,高度和宽度都是"0",但是查看源代码,URL很好,手动访问它会打开图像,当用手动值替换宽度和高度时,图像显示得很好.
虽然更加好奇(以及我当前的finx),当将getimagesize更改为以下内容时,它的工作正常:
$properties = getimagesize($_SERVER['DOCUMENT_ROOT'] . /public_html/images/' . $logo);
Run Code Online (Sandbox Code Playgroud)
我会提到我正在使用Apache的重定向; 这就是为什么在URL中你没有看到"public_html",而在第二个例子的绝对路径中你确实看到了它.
"file_exists"也是如此.URL不起作用,同一文件的绝对本地路径.
另一个好奇心:在另一段代码中,我正在网上查看更新.在那里,我正在使用带有file_exists和fopen的"真实"公共URL.我看起来像这样,工作得非常好:
if(file_exists('http://desk.co.cr/df_stable.txt') {
if(($handle = fopen('http://desk.co.cr/df_stable.txt', 'r')) !== FALSE) { …Run Code Online (Sandbox Code Playgroud)