O Apache httpd não pode analisar php no CentOS 7

0

Estou configurando um novo servidor do CentOS 7,

Eu instalei o apache httpd com sucesso e receba a página de boas-vindas html então eu instalei o php 5.4 e tentei testá-lo usando a página de teste:

<?php
phpinfo();
?>

colocou em / var / www / html mas recebi uma página em branco. log de erro do apache diz:

[Mon Jan 26 21:20:12.474636 2015] [:error] [pid 8352] [client ::1:60206] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/test.php' (include_path='.:/php/includes') in Unknown on line 0

O que eu tentei é:

em /etc/httpd/conf/httpd.conf I adicionado:

LoadModule php5_module "/usr/lib64/php"
AddType application/x-httpd-php  .php

e localizado: DirectoryIndex index.html , em seguida, adicione index.php

Também descomentei include_path='.:/php/includes' em /etc/php.ini

reinicie o apache. Nada mudou! Alguma idéia?

UPDATE

Quando eu verifiquei: apachectl configtest recebi:

[Mon Jan 26 22:22:49.748764 2015] [so:warn] [pid 4984] AH01574: module php5_module is already loaded, skipping
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Então eu listei meus hosts:

[admin@localhost etc]$ cat hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

em seguida, substituiu ServerName www.example.com:80 no httpd.conf por ServerName localhost4.localdomain4 e também tentou ServerName localhost:80

mas ainda existe o problema. No entanto, o resultado apachectl configtest tornou-se:

[Mon Jan 26 22:49:46.968433 2015] [so:warn] [pid 5841] AH01574: module php5_module is already loaded, skipping
Syntax OK

e error_log:

[Mon Jan 26 22:58:27.110725 2015] [:error] [pid 6103] [client ::1:47747] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/test.php' (include_path='.:/php/includes') in Unknown on line 0

SOLUÇÃO

Eu finalmente decidi desinstalar o php54 e depois instalar novamente o php com o seguinte comando:

yum install php php-pear

então alterou ServerName em conf para localhost:80 e funciona!

Obrigado pelo seu tempo

    
por Shadin 26.01.2015 / 19:35

3 respostas

1

Eu tenho uma entrada httpd.conf diferente para ativar o PHP:

LoadModule php5_module /etc/httpd/modules/libphp5.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

Minha observação é que a diretiva "LoadModule" que você posta acima não especifica um arquivo .so para carregar. Tente encontrar o arquivo .so específico, não apenas o diretório em que ele reside, ou o nome do arquivo sem o sufixo ".so".

O que o apachectl configtest diz quando você o executa?

    
por 26.01.2015 / 20:02
1

LoadModule Precisa apontar para um objeto compartilhado versus o que for /usr/lib64/php . Por exemplo:

LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php

Carregar algo como php5_module pode estar impedindo o carregamento do módulo real (a julgar pela mensagem de erro "já carregada").

    
por 26.01.2015 / 20:40
0

Para centos 6.7 x86-x64 ,

LoadModule php5_module /etc/httpd/modules/libphp5.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

resolvi meu problema sobre <?php phpinfo(); ?>

    
por 15.11.2015 / 04:09