Failed loading /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: cannot restore segment prot after reloc: Permission denied

Standard

Depois de instalar tudo em seu servidor Centos (falo de ambiente lamp2 no centos), ao instalar o ioncube você percebe a mensagem de erro:

Failed loading /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so:  /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: cannot restore segment prot after reloc: Permission denied

Calma, nem você é do mal e nem seu servidor, isso ocorre por que o SELinux está monitorando as coisas, permissões e etc, teremos de desativar o danado :(,

Para desativarmos o SELINUX devemos seguir os passos abaixo:

vim

/etc/sysconfig/selinux
Dentro deste arquivos devemos mudar a linha
SELINUX=permissive (ou enforcing) para:
SELINUX=disabled

Após, basta dar um reboot do dragão e ver que o problema foi sanado :D.

You must specify a FilePath to the XML file you want to load!

Standard

Se você está recebendo mensagens de erro neste estilo aqui ó:

You must specify a FilePath to the XML file you want to load!

This message error:

[Exception: You must specify a FilePath to the XML file you want to load!]
nDeveloper.Util.Config.ConfigEditor.AllParameters() +136
nDeveloper.Util.Config.ConfigEditor.LoadConfigFile() +16
nDeveloper.Util.Config.ConfigEditor..ctor(String FilePath) +133
nDeveloper.BO.Base.Config.ConfigFile.GetValue(String Key) +40
nDeveloper.BO.Base.Domain.DataBaseConfig.GetServerType() +42
nDeveloper.BO.Base.Domain.DataBaseConfig.GetConnectionString() +61
Vsoft.iPortal.BO.DataAccess.BaseDb..ctor() +38
Vsoft.iPortal.BO.DataAccess._NoticiaDA..ctor() +24
Vsoft.iPortal.BO.DataAccess.NoticiaDA..ctor() +24
Vsoft.iPortal.BO.BusinessLogic.Noticia.ListaNoticias(Nullable`1 SecaoID, Int32 Quantidade, Nullable`1 CaracterizacaoID) +48
Start_Default.CarregaDestaques() +173
Start_Default.Page_Load(Object sender, EventArgs e) +30
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyn

Nada de dor de cabeça, há uma probabilidade enorme do seu sistema não estar deixando o IIS e o ASPNET acessarem a pasta que contém o arquivo XML.

E digo mais, é comum também de tabela receber este erro aqui:

Detalhes da Exceção: System.UnauthorizedAccessException: Acesso ao caminho “C:\Inetpub\wwwroot\caminho\dados\arquivo_problema.xml” foi negado.

Nas propriedades da pasta dados, altere as permissões da conte \ASPNET ou IUSR_MACHINENAME. A mensagem de erro fornece uma breve descrição sobre os dois casos :

“O ASP.NET não está autorizado a acessar o recurso solicitado. Recomenda-se conceder à identidade de solicitação do ASP.NET direitos de acesso ao recurso. O ASP.NET tem uma identidade de processo-base (geralmente {MACHINE}\ASPNET no IIS 5 ou Serviço de Rede no IIS 6) que é usada se o aplicativo não estiver sendo representado. Se o aplicativo estiver sendo representado através de , a identidade será o usuário anônimo (geralmente IUSR_MACHINENAME) ou o usuário de solicitação autenticado. “

Failed loading /usr/local/Zend/lib/Optimizer-3.3.3/php-5.1.x/ZendOptimizer.so: /usr/local/Zend/lib/Optimizer-3.3.3/php-5.1.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied OU COM IONCUBE

Standard

Se você instalou o IONCUBE no CENTOS/RedHat/Fedora, NÃO entre em pânico se recebeu a mensagem acima ou algo bem semelhante (com compontente da zend). Há uma probabilidade monstruosa do problema estar ocorrendo por causa do SELINUX. Para sanar esse problema rode:

/usr/sbin/setenforce 0

OU

edite o arquivo /etc/selinux/config colocando no lugar de enforcing a informação disable.

Reinicie seu server e depois seja feliz 😛