私はこのエラーを3時間以上デバッグしようとしていましたが、ファイル名を変更し、GeoCityの代わりにGeoIP Liteを使用しようとしました(後者は27MBのファイルが含まれていましたので、fopen()
は最大) 。GeoIP&fopen() - "fopen(GeoIP/GeoIP.dat)[function.fopen]:ファイルを開いていてもストリームを開くことができませんでした"
ここに私の構造ファイル構造です:index.php -> include("configuration/config.php") - config.php -> include("inc/geo_text.php") -> geo_text.php
geo_text.php
の内容は次のとおりです。
$ip = $_SERVER['REMOTE_ADDR'];
include("GeoIP/geoip.inc");
$gi = geoip_open("GeoIP/GeoIP.dat",GEOIP_STANDARD);
$count_name = geoip_country_name_by_addr($gi, $ip);
geoip_close($gi);
echo($count_name);
私はgeo_text.php
にアクセスした場合、エラーが与えられていない、と念私はでecho($count_name)
を配置するためにそれは私の国のように戻った。
私はconfig.php
を実行したときしかし、それはエラーを返します。これは可能性があり、なぜ
Warning: fopen(GeoIP/GeoIP.dat) [function.fopen]: failed to open stream: No such file or directory in /nfs/c09/h02/mnt/177978/domains/domain.com/html/labs/final/configuration/inc/GeoIP/geoip.inc on line 399 Can not open GeoIP/GeoIP.dat
は、誰もが任意のアイデアを持っていますか?
/nfs/c09/h02/mnt/177978/domains/domain.com/html/labsで探しているようです/final/configuration/inc/GeoIP/GeoIP/geoip.inc、geoip.incはすでにGeoIPディレクトリにあるので、代わりに( "GeoIP.dat")に変更するだけで済みます。 – Joe
私はこれを試してみましたが動作しません:(また、 'geo_text.php'がなぜうまくいくのか説明しませんでしたが、' config.php'はそうではないでしょう。 – Avicinnian
ああ、絶対パスを使用していなかったからですが、なぜ 'geo_text.php'がうまくいくのかまだ説明していないし、 t。ファイルAがファイルBに含まれ、これがファイルCに含まれている場合、ファイルBのパスを介してファイルAをファイルCに解決しようとするかどうか、すなわちファイルBに 'C/GeoIP/GeoIP.dat 'ファイルAにはファイルBが含まれていますが、 'B/C/GeoIP/GeoIP.dat'などの代わりに' C/GeoIP/GeoIP.dat'も探しますか? – Avicinnian