Ben bir Linux sunucu üzerinde file_exists()
PHP fonksiyonu ile garip bir sorun yaşıyorum.
Görüntüyü kontrol etmek için file_exists kullanarak düzenlemeden önce sunucu üzerinde olduğunda, bazen hiçbir belirgin nedeni başarısız olur. Dosya yolları mutlak vardır ve onlar belirtilen yolda% 100 ssh'dan onları kontrol ettik.
File_exists () başarısız görüntüler hala tarayıcıda gösterecektir. Kod bir temel var_dump(file_exists('/home/user/path/image.jpg'));
return false bir fark yapmaz.
Dosya izinleri / mülkiyeti Tüm görüntülerin ve üst dizinleri tam olarak aynıdır. Güvenli mod kapalı. Hiçbir PHP hataları vardır. Ben şimdi değil, ne aramak için emin stumped.
İşte görüntüler sunucuda nasıl olduğunu:
/home/user/public_html/images/location/1.jpg -- will work
/home/user/public_html/images/location2/1.jpg -- won't work
/home/user/public_html/images/location2/2.jpg -- will work
Herkes herhangi bir fikir varsa ben mutlu onları çalışacağız yüzden sunucuya root erişimi var.
Şimdiden teşekkürler tavsiye için, ekstra bilgi gerekiyorsa bana bildirin.
EDIT: To answer the questions in the comments below.
- Evet görüntüler vardır, kesinlikle önbelleğe değil.
- Güvenli mod (zaten benim yazı bu sözü) kapalıdır.
- Yollar symlinks ama sunucuda dosyaları konuma doğrudan bağlantılar değil.
- Phoenix, o tutarlıdır. Çalışma dosyaları her zaman tam tersi çalışacak. Garip karakterler veya boşluklar ile bir sorun değil bu yüzden adları vb 1.jpg, 1.thumb.jpg vardır.
[root@server ~]# ls -l /home/user/public_html/images/Hawkhurst/
total 92
-rwxr-xr-x 1 user user 24501 Aug 11 2009 1.jpg
-rwxr-xr-x 1 user user 1672 Aug 11 2009 1.thumb.jpg
-rwxr-xr-x 1 user user 14983 Aug 11 2009 2.jpg
-rwxr-xr-x 1 user user 1370 Aug 11 2009 2.thumb.jpg
-rwxr-xr-x 1 user user 17238 Aug 11 2009 3.jpg
-rwxr-xr-x 1 user user 1453 Aug 11 2009 3.thumb.jpg
-rwxr-xr-x 1 user user 14168 Aug 11 2009 4.jpg
-rwxr-xr-x 1 user user 1464 Aug 11 2009 4.thumb.jpg
[root@server ~]#
Ben hiçbir fark izinleri 777 ve 755 ile denedim. Bu klasörde, örneğin, 1 ve 2 3 iken çalışabilir & edebilir 4 yok ...
Ben ne apache / php çalışır görmek için hızlı bir test koştu ve onlar kimse olarak çalıştırmak, ancak bazı görüntüler çalışmak ve bazı aynı izinlere sahip değil bu neden açıklamıyor.
EDIT 2: Sorun çözüldü. Bir veritabanından çağrıldı dosya bazı özgün senaryo onları kaydetmeden önce temizlik her türlü çalıştırmak vermedi yapılan kimsen ... sonunda boşluk vardı, ne kadar aptal olduğuna inanamıyorum.