2012-10-15 35 views
1

我有一個共享的主機帳戶並安裝了SugarCRM。一切都很好,除了我得到的模塊加載器的消息。在這裏,我得到的消息將suhosin.executor.include.whitelist =「upload://」添加到php.ini文件中。共享主機上的模塊加載器上的SugarCRM錯誤

的消息是:

上傳流通過了Suhosin阻擋,請加 「上載」 到 suhosin.executor.include.whitelist(有關詳情,請 信息sugarcrm.log)

因爲我有一個共享的託管帳戶,我無法訪問我的等位圖,因此也沒有訪問我的php.ini文件。

我想爲此使用.htaccess文件,但不知道確切的代碼。誰能幫我?

+0

你能說出觸發這條線嗎? – jmertic

回答

1

,你可以嘗試一下添加到您的.htaccess文件中http://forums.sugarcrm.com/f6/upload-stream-blocked-suhosin-82116/

<IfModule mod_php.c> 
    php_value suhosin.executor.include.whitelist upload:// 
</IfModule> 

在我的情況建議我使用PHP-FPM所以我修改了在/ etc/PHP5/FPM在php.ini定位器/conf.d/suhosin.ini,我沒有更多的警告從SugarCRM的

; configuration for php suhosin module 
extension=suhosin.so 
suhosin.executor.include.whitelist="phar" 
suhosin.executor.include.whitelist="upload" 
0

卡洛斯·基哈諾發佈對我來說沒有工作的解決方案。 我發現解決方案有所不同,具體取決於PHP是否作爲模塊,CGI或FASTCGI運行。

這是the documentation我發現你可以用它來使用自定義的php.ini文件,爲您的域(或甚至子域)

首先,你應該檢查哪一個是你的情況的不同方法。

對於這一點,你可以使用的phpinfo命令:

創建一個名爲phpinfo.php的與此內容的PHP文件:<?php phpinfo(); ?> 並上傳到您的域名根,然後訪問www.yourdomain.com/phpinfo。 php, 你會看到一個表格,在「Server API」旁邊,你會看到PHP運行的方式。

對於我這是「CGI/FastCGI」,所以我得到一個全球性的php.ini的副本,我不知道如何獲得,因爲它無法通過FTP訪問。我發現一個solution in a Drupal forum

創建一個PHP文件,你可以調用gettheini.php與此內容:

<?php system("cp /usr/local/php5/lib/php.ini /home/YOURCPANELUSERNAME/php.ini"); ?> 

*第一個路徑必須是旁邊的「配置文件路徑(php.ini中)路徑「(phpinfo.php)之前獲得的表格,最後以php.ini結尾。第二條路徑是您要將其複製到的路徑。

將其上傳到您的域根目錄,然後訪問www.yourdomain.com/gettheini.php。 該命令將複製全局php.ini文件到您指定的路徑。 然後你可以編輯該文件加入

; configuration for php suhosin module 
extension=suhosin.so 
suhosin.executor.include.whitelist="phar" 
suhosin.executor.include.whitelist="upload" 

保存並上傳它。

由於我的託管服務已經做了一些安排php.ini覆蓋,當我再次檢查phpinfo頁面時,新文件已經工作(檢查「加載配置文件」旁邊)。

不要忘記保護新文件,添加

<Files php.ini> 
order allow,deny 
deny from all 
</Files> 

到YOUT .htaccess文件的末尾(在你的域或子域相同的根文件夾)

希望我的經驗可以幫助你解決你的問題,或者至少給你一些指導。