Não é possível executar algum comando shell a partir do php

1

Eu quero executar comandos phpcs do phpcode usando a função shell_exec. Durante a execução, ele recebe o erro /usr/bin/php: relocation error: /usr/bin/php: symbol X509_free, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference . Como posso resolver este problema?

    
por Savan Koradia 16.03.2014 / 13:46

1 resposta

1

Parece que sua biblioteca libssl está quebrada. Tente executar:

ldd /usr/lib/x86_64-linux-gnu/libssl.so
    linux-vdso.so.1 =>  (0x00007fffb3351000)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f28feaf1000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f28fe731000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f28fe52c000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f28fe315000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f28ff149000)

Se a sua saída mostrar arquivo não encontrado ou apontar para uma versão antiga de libcrypto.so.1.0.0 , você deverá reinstalar openssl .

E se você compilar o php do código-fonte, certifique-se de ter a opção --with-openssl com o local correto de libssl dir.

    
por 16.03.2014 / 15:12