共享主机上的模块加载器上的SugarCRM错误

时间:2012-10-15 11:18:04

标签: sugarcrm suhosin

我有一个共享主机帐户并安装了SugarCRM。一切都很好,除了我得到的模块加载器的消息。在这里,我收到消息,将suhosin.executor.include.whitelist =“upload://”添加到php.ini文件中。

消息是:

  

上传流被Suhosin阻止,请添加“上传”到   suhosin.executor.include.whitelist(有关详细信息,请参阅sugarcrm.log   信息)

因为我有一个共享主机帐户,所以我无权访问我的etc地图,因此也无法访问我的php.ini文件。

我想使用.htaccess文件,但不知道确切的代码。谁能帮我?

2 个答案:

答案 0 :(得分:1)

您可以尝试按照http://forums.sugarcrm.com/f6/upload-stream-blocked-suhosin-82116/

中的建议将此添加到.htaccess文件中
<IfModule mod_php.c>  
    php_value suhosin.executor.include.whitelist upload://
</IfModule>

在我的情况下,我使用php-fpm,所以我在/etc/php5/fpm/conf.d/suhosin.ini中修改了php.ini定位器,我没有来自SugarCRM的警告

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

答案 1 :(得分:0)

Carlos Quijano发布的解决方案并不适合我。 我发现解决方案有所不同,具体取决于PHP是作为模块,CGI还是FASTCGI运行。

这是the documentation我已经找到了可用于为您的域(甚至是子域名)使用自定义php.ini文件的不同方法

首先,您应该检查哪一个是您的情况

为此,您可以使用phpinfo命令:

使用以下内容创建一个名为phpinfo.php的php文件:<?php phpinfo(); ?> 并将其上传到您的域根目录,然后访问www.yourdomain.com/phpinfo.php, 您将看到一个表格,并且旁边是&#34; Server API&#34;您将看到PHP的运行方式。

对我来说它是&#34; CGI / FastCGI&#34;,所以我必须得到全球php.ini的副本,我不知道如何获得因为它无法通过FTP访问访问。我找到了solution in a Drupal forum

创建一个php文件,您可以使用以下内容调用gettheini.php:

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

*第一条路径必须是&#34;配置文件(php.ini)路径&#34;旁边的路径。在之前获得的表(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页面时,新文件已经工作(检查&#34;加载配置文件&#34;旁边。)。

不要忘记保护新文件,添加

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

到.ttaccess文件的末尾(在您的域或子域的同一个根文件夹中)

我希望我的经验可以帮助您解决问题或至少给您一些指导。