open_basedir bir dizin ağacı içinde PHP ile açılabilir dosyaları sınırlar.
Benim web kök dizini dışında birçok sınıf kitaplıkları ve yapılandırma dosyalarını depolamak. Bu şekilde web sunucusu, bunları kamuya erişilebilir yapmaz. Benim uygulamadan onları eklemeyi deneyin Ancak ben böyle bir open_basedir kısıtlama hata alıyorum:
Warning: realpath() [function.realpath]: open_basedir restriction in effect. File(/var/www/vhosts/domain.tld/zend/application) is not within the allowed path(s): (/var/www/vhosts/domain.tld/httpdocs:/tmp) in /var/www/vhosts/domain.tld/httpdocs/index.php on line 5
Benim web kökü burada:
/var/www/vhosts/domain.tld/httpdocs
Benim kütüphaneler ve yapılandırma dizini burada:
/var/www/vhosts/domain.tld/zend
Ne etki klasörü altında dizin ağacı benim uygulama için kullanılabilir hale böylece open_basedir kısıtlama dinlenmek için en iyi çözüm olurdu? Ben bunu yapmak istiyorum etki bir dizi var, ve ben de güvenlik açıklarını yaratma açıkça dikkatli yaşıyorum.
Not: Ben CentOS, Apache, Plesk, kullanıyorum ve ben sunucuya root ssh erişimi vardır. Bu doğrudan Zend Framework için geçerli değildir ama, ben bu durumda kullanıyorum. Yani burada zerdüştlerin bootstrap itibaren dahil edilmesi:
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../zend/application/'));
set_include_path(APPLICATION_PATH . '/../zend/library' . PATH_SEPARATOR . get_include_path());