Have You Tried IT ?

Information Technology from scratch

PEAR i safe_mode

Dodano przez Kategoria: Linux

Tzw. tryb bezpieczny w PHP (safe_mode) m.in. wymusza sprawdzanie właścicieli i pozwala na wykonywanie operacji tylko wtedy, gdy wykonywany plik i zasób, na którym ma być wykonana operacja należą do tego samego właściciela. Instalacja PEAR na serwerze odbywała się z konta root i on jest właścicielem plików źródłowych. Natomiast właścicielem plików regularnych dla podpiętych na serwerze domen jest już zupełnie inny użytkownik. Dlatego, gdy tryb safe_mode jest włączony na serwerze przy próbie użycia rozszerzeń PEAR pojawia się mniej więcej taki błąd:

Warning: require_once(System.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/vhosts/domenasrutututu.pl/httpdocs/peartest.php on line XX

Fatal error: require_once() [function.require]: Failed opening required 'System.php' (include_path='.:/usr/share/pear/') in /var/www/vhosts/domenasrutututu.pl/httpdocs/peartest.php on line XX


Aby temu zaradzić można np. zmienić właściciela plików ze skryptem na root ( chown root peartest.php ), co jednak jest bez sensu.
Jeśli niezbędne jest zachowanie włączonego trybu safe_mode na serwerze, wówczas należy edytować plik conf/vhost.conf o czym wcześniej pisałem przy okazji instalacji PEAR. W tym przypadku należy dopisać kolejną linię z modyfikacją parametru safe_mode_include_dir:

<Directory /var/www/vhosts/domenasrutututu.pl/httpdocs>
php_admin_value open_basedir /var/www/vhosts/domenasrutututu.pl/httpdocs/:/tmp/:/usr/share/pear/
php_admin_value safe_mode_include_dir /usr/share/pear/
</Directory>

Po zapisaniu standardowo należy przeładować konfiguracje Apache dla domeny:

/usr/local/psa/admin/sbin/websrvmng -u --vhost-name=domenasrutututu.pl

1 odpowiedź

  1. Pingback: Błąd: sendmail returned error code 127 — Have You Tried IT

Dodaj komentarz

XHTML: Dozwolone znaczniki: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">