Saya mencoba mengkompilasi ulang PHP, tetapi ./configure gagal di:
configure: error: Cannot find OpenSSL's <evp.h>
Saya memiliki LibSSL 1.0.0, LibSSL 0.9.8, LibSSL-Dev, OpenSSL diinstal.
--with-openssl=/usr/include/openssl
ketika saya mencoba
--with-openssl
Beritahu aku:
configure: error: Tidak dapat menemukan perpustakaan OpenSSL
Di mana **** masalahnya?
PS Php adalah 5.2.5, OS adalah Ubuntu
libcurl4-openssl-dev
bedanyalibssl-dev
?Untuk membangun php-5.3 di Debian wheezy Anda perlu yang berikut untuk memperbaiki kesalahan ini.
Maka Anda perlu mengkonfigurasi dengan yang berikut ini
sumber
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config
. Saya telah menulis bagaimana cara mengkompilasi PHP dengan ekstensi.Dengan asumsi bahwa Anda sudah memiliki pustaka OpenSSL dan file header (pada sistem rpm yang terakhir adalah dalam paket xxxx-devel) ...
Masalah ini tampaknya muncul dari bagaimana
configure
menyelesaikan dependensi yang didistribusikan di sekitar sistem file. Untuk mengkompilasi kode, comiler perlu tahu di mana header berada. Untuk menghubungkan kode, penghubung perlu tahu di mana perpustakaan berada.Direktori include memiliki file include, tetapi pkg-config gagal karena pustaka tidak ada di / usr / include / openssl, di / usr / lib
Menjalankan konfigurasi lagi dengan / usr sebagai direktori:
Jalan yang dilewati sebagai argumen dicari untuk menemukan sumber daya yang relevan.
sumber
php-7.1.12
diDebian Jessie
. Terima kasihAlasan lain
./configure
mungkin gagal adalah karena Anda belumpkg-config
menginstal, seperti dalam kasus saya dengan PHP7 dan Debian Jessie:sumber
Untuk mengkompilasi php-5.4.45 pada debian 8.1 (Jessie) saya harus:
Setelah itu saya bisa mengkompilasinya hanya menggunakan
--with-openssl
sumber
Saya memperbaiki masalah ini dengan menginstal perpustakaan tambahan
sumber
Pada centos7 Instal openssl-devel
yum install openssl-devel
sumber
Anda perlu membantu mengkonfigurasi mencari tahu di mana harus mencari file evp.h, karena secara default itu akan memindai direktori dan menambahkan sufiks yang telah di-hardcod kepada mereka untuk menemukannya. Saya telah menyimpan detailnya di halaman wiki saya untuk mereka yang ingin memahami solusinya. Inilah yang bekerja untuk saya:
YMMV (jalur berbeda). Jika itu tidak berhasil untuk Anda memeriksa halaman wiki , itu akan membantu Anda mencari tahu jalan apa yang harus diletakkan.
sumber
Saya memiliki masalah yang sama pada Fedora 19 meskipun OpenSSL telah diinstal.
Saya harus menginstal openssl-devel.i686 yang saya temukan dengan melakukan pencarian umum untuk semua paket yang berkaitan dengan ssl:
Kemudian saya menjalankan konfigurasi lagi dengan sukses:
sumber
Hanya umpan balik saya: Setelah menyelesaikan masalah ssl ini dari postingan ini, saya sepenuhnya menyerah untuk mengkompilasi php 5.3 karena gagal lebih jauh pada ekstensi zend dom di tengah, saya telah menemukan beberapa tambalan, dan memutuskan untuk menghentikan keributan ini. . Ada ubuntu 12.04 yang masih memiliki 5.3.10 php on board. Hati-hati php-fpm saat itu telah membersihkan variabel lingkungan. Jadi jangan heran ketika Anda tidak bisa mengirimkan variabel global dari buruh pelabuhan misalnya.
sumber