Página 1 de 2

Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 10:55
por gustavobrod
Estou usando Manjaro com Gnome em outro hd, e no hd principal uso o Ubuntu.
Estou fazendo uns testes no Manjaro instando o que preciso para trabalhar, se tudo que tenho no Ubuntu estiver 100% no Manjaro vou fazer a troca.

O que passa é o seguinte!

Tenho PHP 8 e 7 instalado, seguindo um tutoria da wiki do Arch

No terminal = php74 --version
PHP 7.4.33 (cli) (built: Jun 21 2023 04:25:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans
No terminal = php --version
PHP 8.2.6 (cli) (built: May 9 2023 16:47:59) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.6, Copyright (c) Zend Technologies
Criei Alias no .zshrc para fazer a troca da versão do PHP
alias php5=“cd /usr/bin && sudo cp php53 php && ~”
alias php7=“cd /usr/bin && sudo cp php74 php && ~”
alias php8=“cd /usr/bin && sudo cp php82 php && ~”

A principio esta troca esta ocorrento correto, porem é necessario restartar o httpd e aí que tenho os problemas, no arquivo httpd.conf localizado no /etc/httpd inseri as seguintes linhas.
PHP 8
LoadModule php_module modules/libphp.so
AddHandler php-script .php
Include conf/extra/php_module.conf

PHP 7
#LoadModule php7_module modules/libphp7.so
#AddHandler php7-script php
#Include conf/extra/php7_module.conf
Situação
No httpd.conf
Comento as linhas referente ao PHP 8
Descomento as linhas referente ao PHP7
Executo o alias php7
Digito no terminal php --version o retorno é do php 7
Então executo sudo systemctl restart httpd.service

O httpd não restart, consequencia disso localhost não inicia e tamém o phpinfo

1. sudo systemctl restart httpd.service  :heavy_check_mark:  29s 
2. sudo systemctl status httpd.service  :heavy_check_mark:
× httpd.service - Apache Web Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
Active: failed (Result: exit-code) since Sun 2023-06-25 10:08:25 -03; 3s ago
Duration: 65ms
Process: 3907 ExecStart=/usr/bin/httpd -k start -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 3907 (code=exited, status=1/FAILURE)
CPU: 55ms

jun 25 10:08:25 manjaro systemd[1]: Started Apache Web Server.
jun 25 10:08:25 manjaro httpd[3907]: httpd: Syntax error on line 69 of /etc/httpd/conf/httpd.conf: Cannot load modules/libphp7.so>
jun 25 10:08:25 manjaro systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
jun 25 10:08:25 manjaro systemd[1]: httpd.service: Failed with result ‘exit-code’.
Como da pra ver, tem a informação:
jun 25 10:08:25 manjaro httpd[3907]: httpd: Syntax error on line 69 of /etc/httpd/conf/httpd.conf: Cannot load modules/libphp7.so>
Não consigo resolver ou compreender o que há de errado.
Fazendo o processo inverso
Comentanto php7
Descomentando php8
alias php8
sudo systemctl restart httpd.service

Tudo funciona perfeitamente.

Alguem poderia me ajudar a resolver isso?
Obrigado.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 12:02
por tioguda
Você está utilizando um pacote da AUR, e por ser da AUR, provavelmente você deve fazer algum ajuste manual. Pelo o que eu entendi na wiki (e comparando o pacote php74 da AUR e o php do repositório), o modulo da versão da AUR pode estar em um local diferente do modulo da versão do repositório.

Eu nunca instalei esses pacotes, mas como mencionei acima, acredito que seja necessário algum ajuste nos arquivos do pacote php74. Vou dar uma investigada aqui, e se eu descobrir alguma coisa eu informo.

Aproveita e informa a url do tutorial da wiki que você seguiu, talvez lá tenha algo que passou despercebido por você.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 12:48
por gustavobrod
Agradeço o retorno.

Segui as orientações dessa wiki
https://aur.archlinux.org/packages/php74

Abs.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 13:00
por gustavobrod
No meu hd principal, usuo o Ubuntu, para fazer essa troca segui os passos desse site.
https://www.digitalocean.com/community/ ... ion-of-php

Tentei algo parecido o Manjaro, mas não encontrei.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 15:43
por tioguda
gustavobrod escreveu: 25 Jun 2023, 12:48 Agradeço o retorno.

Segui as orientações dessa wiki
https://aur.archlinux.org/packages/php74

Abs.
Você está compilando esse pacote no seu hardware ou você adicionou o repositório informado no comentário fixado?

Se você adicionou o repositório do comentário fixado, talvez esse pode ser o problema, já que esse repositório é para o Archlinux e só funcionaria corretamente no ramo(branch) instável(unstable) do Manjaro. Não utilize repositório do Archlinux no Manjaro, esse é o erro que a maioria faz. Existe uma grande diferença entre o Archlinux stable e o Manjaro stable, e isso ocasiona em muitos erros/problemas.

E ai não é a wiki, é a AUR.
gustavobrod escreveu: 25 Jun 2023, 13:00 No meu hd principal, usuo o Ubuntu, para fazer essa troca segui os passos desse site.
https://www.digitalocean.com/community/ ... ion-of-php

Tentei algo parecido o Manjaro, mas não encontrei.
Eu compilei o pacote php74 aqui, vou testar assim que possivel, e informo se conseguir alternar entre o 8 e o 7.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 16:29
por tioguda
Acho que descobri o motivo do erro, e aparentemente é o que eu já tinha mencionado, a sua configuração.

Tenta utilizar essa config aqui:

Código: Selecionar todos

LoadModule php74_module modules/libphp74.so
AddHandler php74-script php
Include conf/extra/php74_module.conf
Pela minha pesquisa, isso deve funcionar. Mas lembre-se, não utilize pacotes de repositórios feitos para o Archlinux, isso vai te trazer dor de cabeça em algum momento..

Dica: eu creio que existem formas melhores para você ajustar qual php utilizar, ao invés de utilizar esses aliases ai. Pode até funcionar, mas não é bom ficar copiando arquivos nesses diretórios do sistema.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 17:58
por gustavobrod
Eu sabia que alguma coisa eu estava fazendo errado.
Achei que pelo Manjaro ser base Arch poderia dar certo.

Agradeço muito o retorno, nem tudo que esta na Wiki do Arch pode ser usado no Manjaro.
tioguda escreveu: 25 Jun 2023, 15:43
gustavobrod escreveu: 25 Jun 2023, 12:48 Agradeço o retorno.

Segui as orientações dessa wiki
https://aur.archlinux.org/packages/php74

Abs.
Você está compilando esse pacote no seu hardware ou você adicionou o repositório informado no comentário fixado?

Se você adicionou o repositório do comentário fixado, talvez esse pode ser o problema, já que esse repositório é para o Archlinux e só funcionaria corretamente no ramo(branch) instável(unstable) do Manjaro. Não utilize repositório do Archlinux no Manjaro, esse é o erro que a maioria faz. Existe uma grande diferença entre o Archlinux stable e o Manjaro stable, e isso ocasiona em muitos erros/problemas.

E ai não é a wiki, é a AUR.
gustavobrod escreveu: 25 Jun 2023, 13:00 No meu hd principal, usuo o Ubuntu, para fazer essa troca segui os passos desse site.
https://www.digitalocean.com/community/ ... ion-of-php

Tentei algo parecido o Manjaro, mas não encontrei.
Eu compilei o pacote php74 aqui, vou testar assim que possivel, e informo se conseguir alternar entre o 8 e o 7.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 18:04
por gustavobrod
Também havia tentado essa alternativa.
Ao rodar o sudo systemctl restart httpd e sudo systemctl status httpd
Não inicia o httpd

Código: Selecionar todos

httpd.service - Apache Web Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Sun 2023-06-25 18:00:33 -03; 9s ago
   Duration: 68ms
    Process: 2849 ExecStart=/usr/bin/httpd -k start -DFOREGROUND (code=exited, status=1/FAILURE)
   Main PID: 2849 (code=exited, status=1/FAILURE)
        CPU: 57ms

jun 25 18:00:33 manjaro systemd[1]: Started Apache Web Server.
jun 25 18:00:33 manjaro httpd[2849]: httpd: Syntax error on line 68 of /etc/httpd/conf/httpd.conf: Can't locate API module structure `php74_module' in file />
jun 25 18:00:33 manjaro systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
jun 25 18:00:33 manjaro systemd[1]: httpd.service: Failed with result 'exit-code'.
tioguda escreveu: 25 Jun 2023, 16:29 Acho que descobri o motivo do erro, e aparentemente é o que eu já tinha mencionado, a sua configuração.

Tenta utilizar essa config aqui:

Código: Selecionar todos

LoadModule php74_module modules/libphp74.so
AddHandler php74-script php
Include conf/extra/php74_module.conf
Pela minha pesquisa, isso deve funcionar. Mas lembre-se, não utilize pacotes de repositórios feitos para o Archlinux, isso vai te trazer dor de cabeça em algum momento..

Dica: eu creio que existem formas melhores para você ajustar qual php utilizar, ao invés de utilizar esses aliases ai. Pode até funcionar, mas não é bom ficar copiando arquivos nesses diretórios do sistema.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 25 Jun 2023, 18:11
por gustavobrod
Assisti um video do Fabio Akita, do Ubuntu e também do Manjaro, onde ele utiliza o asdf.
Instalei algumas linguagens, fenomenal esse asdf, mas quando tento instalar php7, não finaliza, exibe uma mensagem de openssl, segue abaixo o trecho da mensagem.

Código: Selecionar todos

/usr/include/openssl/rsa.h:289:29: note: expected ‘RSA *’ {aka ‘struct rsa_st *’} but argument is of type ‘const struct rsa_st *’
  289 |                        RSA *rsa, int padding);
      |                        ~~~~~^~~
make: *** [Makefile:750: ext/openssl/openssl.lo] Error 1
make: ** Esperando que outros processos terminem.

Procurei no git do asdf alguma explicação ou ajuda sobre isso, não encontrei.
Ja na instalação do php8, sucesso.
O carma esta sendo o php mesmo
tioguda escreveu: 25 Jun 2023, 16:29 Acho que descobri o motivo do erro, e aparentemente é o que eu já tinha mencionado, a sua configuração.

Tenta utilizar essa config aqui:

Código: Selecionar todos

LoadModule php74_module modules/libphp74.so
AddHandler php74-script php
Include conf/extra/php74_module.conf
Pela minha pesquisa, isso deve funcionar. Mas lembre-se, não utilize pacotes de repositórios feitos para o Archlinux, isso vai te trazer dor de cabeça em algum momento..

Dica: eu creio que existem formas melhores para você ajustar qual php utilizar, ao invés de utilizar esses aliases ai. Pode até funcionar, mas não é bom ficar copiando arquivos nesses diretórios do sistema.

Re: Httpd não ativa após restartar com php 7.4

Enviado: 05 Jul 2023, 22:09
por tioguda
gustavobrod escreveu: 25 Jun 2023, 18:04 Também havia tentado essa alternativa.
Ao rodar o sudo systemctl restart httpd e sudo systemctl status httpd
Não inicia o httpd

Código: Selecionar todos

httpd.service - Apache Web Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Sun 2023-06-25 18:00:33 -03; 9s ago
   Duration: 68ms
    Process: 2849 ExecStart=/usr/bin/httpd -k start -DFOREGROUND (code=exited, status=1/FAILURE)
   Main PID: 2849 (code=exited, status=1/FAILURE)
        CPU: 57ms

jun 25 18:00:33 manjaro systemd[1]: Started Apache Web Server.
jun 25 18:00:33 manjaro httpd[2849]: httpd: Syntax error on line 68 of /etc/httpd/conf/httpd.conf: Can't locate API module structure `php74_module' in file />
jun 25 18:00:33 manjaro systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
jun 25 18:00:33 manjaro systemd[1]: httpd.service: Failed with result 'exit-code'.
httpd: Syntax error on line 68 of /etc/httpd/conf/httpd.conf: Can't locate API module structure `php74_module' in file />

Como mostrado na mensagem acima, existe algo errado no seu arquivo httpd.conf.
gustavobrod escreveu: 25 Jun 2023, 18:11 Assisti um video do Fabio Akita, do Ubuntu e também do Manjaro, onde ele utiliza o asdf.
Instalei algumas linguagens, fenomenal esse asdf, mas quando tento instalar php7, não finaliza, exibe uma mensagem de openssl, segue abaixo o trecho da mensagem.

Código: Selecionar todos

/usr/include/openssl/rsa.h:289:29: note: expected ‘RSA *’ {aka ‘struct rsa_st *’} but argument is of type ‘const struct rsa_st *’
  289 |                        RSA *rsa, int padding);
      |                        ~~~~~^~~
make: *** [Makefile:750: ext/openssl/openssl.lo] Error 1
make: ** Esperando que outros processos terminem.

O problemas é que essa mensagem não é o verdadeiro erro, é só o final do processo de compilação. O verdadeiro é outro, que pode até ter a ver com o openssl, mas com essa mensagem não dá para opinar.

Vou tentar compilar o php74 aqui novamente, e ver se consigo um tempo para testar isso. Mas como já citei, verifica a sintaxe do seu arquivo httpd.conf, e tente procurar um método melhor para trocar entre as versões do php, ao invés de utilizar o alias que mencionou antes.

E eu peço desculpas pela demora, mas o fórum não me notificou sobre a sua resposta, e só lembre hoje sobre o seu tópico.