Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php GoogleMapAPI:createMarkerIcon:读取图像时出错_Php_Apache_Google Maps_Google Maps Api 3_Document Root - Fatal编程技术网

Php GoogleMapAPI:createMarkerIcon:读取图像时出错

Php GoogleMapAPI:createMarkerIcon:读取图像时出错,php,apache,google-maps,google-maps-api-3,document-root,Php,Apache,Google Maps,Google Maps Api 3,Document Root,当我尝试在我的网站上加载地图时,我遇到了错误GoogleMapAPI:createMarkerIcon:error reading image/path/to/my/image.php。这只发生在我的登台和实时系统上。在我的开发机器上一切正常。这三个系统上的文件完全相同 我找不到这个问题的最终解决方案,但其他人也有,因为其他板上有几个线程正是关于这个问题的 图像路径正确,文件可以访问。我不知道是否还有人存在此问题。但是我花了相当长的时间在GoogleMapAPI的createMarkerIcon

当我尝试在我的网站上加载地图时,我遇到了错误
GoogleMapAPI:createMarkerIcon:error reading image/path/to/my/image.php
。这只发生在我的登台和实时系统上。在我的开发机器上一切正常。这三个系统上的文件完全相同

我找不到这个问题的最终解决方案,但其他人也有,因为其他板上有几个线程正是关于这个问题的


图像路径正确,文件可以访问。

我不知道是否还有人存在此问题。但是我花了相当长的时间在GoogleMapAPI的
createMarkerIcon()
方法上,因为它可以在我的开发机器上很好地加载映像,但是失败了,在我的登台和实时机器上出现了消息
GoogleMapAPI:createMarkerIcon:Error reading image/path/to/image.png

我知道这在几年前是一个问题,目前还找不到任何标记为“已解决”的线程。所以我想,我会在这里与全世界分享我的见解

对我来说,问题是,
$\u服务器['DOCUMENT\u ROOT']
返回了错误的目录。如果您正在使用配置了一些别名的虚拟主机,则最有可能出现这种情况。只要你不通过别名呼叫该网站,一切正常。但是,只要使用别名调用网站,
$\u SERVER
变量就无法反映正确的值。这不仅仅是
'DOCUMENT\u ROOT'
索引的情况

然而,Maps API仅使用此变量来确定图标图像的绝对位置。如果你知道自己在寻找什么,那么解决方法非常简单。首先仔细检查
$\u服务器['DOCUMENT\u ROOT']
是否返回正确的路径。如果确实返回了正确的路径,而您仍然得到错误,那么您需要继续寻找解决方案。如果没有,您可以轻松地为API的
createMarkerIcon()
方法编写重写方法。只需将
$\u服务器['DOCUMENT\u ROOT']
变量替换为实际的文档根即可。要检索它,请使用index.php中的以下行创建具有正确路径的常量。最后一个斜杠是可选的,但我建议您添加它

define('DOCROOT',realpath(dirname(__FILE__).'/'));
这样就可以了。为我解决了这个错误。只是不要为了保持可更新性而修改API本身