trustnet 38 Zgłoś post Napisano Kwiecień 2, 2012 Witam, borykamy się (bardziej w ramach ciekawostki, niż realnego problemu, bo wiemy jak poprawić skrypt) z takim problemem: jest skrypt, który czyta pliki z katalogu i je includuje, skrypt wygląda tak: if( is_dir($dir) ){ if($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { echo $dir .''. $file.' '; } closedir($handle); } } Ten skrypt działa bardzo ładnie na hostingu opartym na cPanelu działającym na CentOS-oe 5.8 Taka sama konfiguracja serwera, też na cPanelu, kompilacja tych samych wersji oprogramowania (apache, php, mysql) ale na CentOS-ie 6.2 powoduje, że wczytuje się tylko 10 pierwszych plików i proces się przerywa. Nie ma żadnych błędów w logach. Jakie macie doświadczenie, z nowym CentOS-em 6.x i co jest w nim takiego, że "nie działa". Może ktoś wie? Wojtek Udostępnij ten post Link to postu Udostępnij na innych stronach
pajter 9 Zgłoś post Napisano Kwiecień 2, 2012 Nie sądzę, by to kwestia centos.. Logi nic nie mówią? ;-) php.ini takie samo, uprawnienia również? Udostępnij ten post Link to postu Udostępnij na innych stronach
trustnet 38 Zgłoś post Napisano Kwiecień 2, 2012 Tak, to na 99,9% kwestia CentOS-a. Początkowo problem wykryliśmy na CloudLinuksie. Żeby wyeliminować hacki i blokady CloaudLinuksa postawiliśmy kilka wirtualek na CentOSie. Kompilacja jest identyczna w każdym przypadku - to jest cPanel, zatem łatwo zrobić powtarzalną kompilację i konfigurację. Identyczne php, apache, moduły. wersje te same php.ini identyczny. Uprawnienia też są na pewno poprawne. Też mnie to zdziwiło, ale na pewno problem jest w CentOSie 6.x - może ktoś ma hosting na nim - chętnie przetestuję, czy skrypt działa ? Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Kwiecień 2, 2012 SELinux wyłączony? Udostępnij ten post Link to postu Udostępnij na innych stronach
trustnet 38 Zgłoś post Napisano Kwiecień 2, 2012 tak, jest, wyłączony: root@michael [/home/wojtek]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. # SELINUXTYPE=targeted Udostępnij ten post Link to postu Udostępnij na innych stronach
trustnet 38 Zgłoś post Napisano Kwiecień 5, 2012 Odpowiadam sam sobie bo sprawa jest rozwiązana. Różnica w CentOS 5.x a 6.x to system plików. W wersji 5.x było ext3 a w wersji 6.x jest proponowany domyślnie ext4. Funkcja php readdir() wg dokumentacji PHPczyta wg ich kolejności w filesystemie (in the order in which they are stored by the filesystem). Co ciekawe kolejność jest zawsze taka sama (sprawdzane na 4 różnych serwerach) - niezależnie od kolejności wgrywania plików. Druga ciekawostka: na systemie plików ext3 i ext4 kolejność jest stała, ale na każdym z systemów plików inna. Czyli podejrzewam, że ma to coś wspólnego z inodami, ale to już nie wnikam. Tak czy inaczej problem mi się rozwiązał Wojtek Udostępnij ten post Link to postu Udostępnij na innych stronach