有人知道为什么我的服务器不能读取数据库文件吗?
无论我尝试什么,我都会得到相同的错误:
‘无法打开GeoLiteCity.dat’
没有任何解释。文件在那里,我已经尝试上传以确保它没有损坏。我使用的是纯php模块。这两个文件都在同一个目录中...
我正试着在wordpress上设置这个,这可能是问题的一部分吗?
我的代码只是一个基本的测试器:
include("geoip.inc");
// read GeoIP database
$handle = geoip_open("GeoLiteCity.dat", GEOIP_STANDARD);
// map IP to country
echo "IP address 62.149.130.132 located in " . geoip_country_name_by_addr($handle, "62.149.130.132") . " (country code " . geoip_country_code_by_addr($handle, "62.149.130.132") . ")";
// close database handler
geoip_close($handle);但它就是做不到。
发布于 2012-01-17 23:39:15
发布于 2012-01-17 23:38:25
您是否在文件上设置了正确的权限?在linux上,请确保www服务器用户(通常为www-data)可以读取该文件。
作为一个快速测试,您可以尝试将文件chmod设置为777。
如果这解决了问题,那么你就知道这就是你的问题,如果你愿意,你可以修改权限以获得最好的安全性(例如,将其更改为www-data用户,并对其进行chmod以适合它)
还要确保geoip类在数据库中查找的路径是正确的。这是我能想到的唯一两个会导致这种情况的问题
发布于 2015-04-02 17:07:52
您尝试过使用文件系统路径吗
编辑前:
$gi = geoip_open('GeoLiteCity.dat', GEOIP_STANDARD);编辑(修复)后:
$gi = geoip_open('/var/www/html/googletitan/GeoLiteCity.dat', GEOIP_STANDARD);上面的更改为我修复了相同的错误。
https://stackoverflow.com/questions/8897342
复制相似问题