2012-04-21 172 views
0

我想讓我的Zend Framework應用程序啓動並運行在我的VPS上。我收到此錯誤:realpath()open_basedir限制生效。

錯誤

警告:真實路徑()[function.realpath]:在效果open_basedir的限制。

顯然這是Plesk的默認限制相當常見的,所以我相信你們中的一些人面臨同樣的問題。

我已經試過

在/ var /網絡/虛擬主機/域/ conf目錄/我已創建的文件vhost.conf使用Virtuozzo功能面板。下面是我放在vhost.conf代碼:

嘗試1次

<Directory /var/www/vhosts/DOMAIN/public> 
<IfModule sapi_apache2.c> 
     php_admin_value open_basedir none 
</IfModule> 
<IfModule mod_php5.c> 
     php_admin_value open_basedir none 
</IfModule> 
</Directory> 

嘗試2

<Directory /var/www/vhosts/DOMAIN/public> 
    php_admin_value open_basedir none 
</Directory> 

我也重新啓動httpd服務。

文件夾結構

我的文件夾結構如下:

/var/www/vhosts/DOMAIN/application 
/var/www/vhosts/DOMAIN/library 
/var/www/vhosts/DOMAIN/public 

任何幫助將非常感激。

回答

2

我認爲你需要設置open_basedir整個項目:

<Directory /var/www/vhosts/DOMAIN> 
    php_admin_value open_basedir none 
</Directory> 

您還需要設置DocumentRoot到:

DocumentRoot "/var/www/vhosts/DOMAIN/public" 

雖然。

1

我有同樣的問題&沒有將open_basedir設置爲none就解決了它。 您可以通過在Linux中將「:」與「;」分隔開來爲open_basedir添加多條路徑,「;」在Windows中。因此,如果在警告中提到了「realpath」,請將「realpath」添加到open_basedir設置或「realpath」的父目錄中。例如這樣的:

php_admin_value open_basedir "/srv/www/vhosts/domain.com/httpdocs:/tmp:/usr/share/php5/" 

現在你的open_basedir配置有3種途徑:

/srv/www/vhosts/domain.com/httpdocs 
/tmp 
/usr/share/php5 

在我的情況下,需要上述3的最後路徑Zend公司在沒有警告我的系統上運行。

另請注意,結束您的路徑與「/」或不! 沒有「/」所有子文件夾將被包含到open_basedir。 看看這裏:http://www.php.net/manual/en/ini.core.php#ini.open-basedir

Lucian

相關問題