Saya sudah mencobanya 100 kali saya benar-benar baru di Ubuntu dan diakhiri dengan banyak kesalahan yang bahkan tidak saya mengerti dapatkah ada yang membantu saya ??
Inilah yang saya lakukan:
- Saya menginstal PHP
- Saya menginstal libcurl kemudian php5-dev
- Saya mencoba menginstal ekstensi PECL dan dikatakan
PHPIZE
tidak ditemukan.
Jawaban:
Pertama, Anda harus menginstal PEAR via
apt-get
untuk mendapatkan paket dan sistem distribusi yang diperlukan baikPEAR
danPECL
digunakan. Dari prompt shell, masukkan:Anda akan diminta untuk mengonfirmasi pemasangan. Cukup tekan "y" dan masukkan. Jika semuanya berjalan dengan baik Anda akan melihatnya mengunduh dan menginstal paket php-pear.
Sekarang Anda perlu menginstal paket php5-dev untuk mendapatkan file sumber PHP5 yang diperlukan untuk mengkompilasi modul tambahan. Masukkan yang berikut dari prompt shell:
Jika Anda tidak menginstal paket php5-dev dan mencoba menginstal ekstensi PECL menggunakan "pear install", Anda akan mendapatkan kesalahan berikut:
Ekstensi PECL_HTTP membutuhkan paket ketergantungan tambahan yang harus diinstal. Anda mungkin dapat melewati ini untuk ekstensi lain:
Sekarang kita akhirnya benar-benar siap untuk menginstal ekstensi. Dari prompt shell masukkan berikut tetapi gantilah "pecl_http" dengan nama ekstensi PECL yang Anda pasang:
Pemasang mungkin bertanya kepada Anda tentang beberapa opsi spesifik untuk ekstensi yang Anda pasang. Anda mungkin dapat menekan enter satu kali atau lebih untuk menerima semua default kecuali Anda ingin mengatur opsi spesifik untuk implementasi Anda. Jika semuanya berjalan dengan baik, modul harus mengunduh, membangun, dan menginstal.
Setelah instalasi selesai, ia mungkin akan meminta Anda untuk menambahkan baris "extension =" ke file php.ini Anda. Buka file php.ini di editor teks favorit Anda dan tambahkan baris di bawah bagian berlabel "Dynamic Extensions". Pada Ubuntu, file php.ini tampaknya berada di folder / etc / php5 / apache2:
Dalam contoh ini, instalasi ekstensi pecl_http meminta saya untuk menambahkan "extension = http.so". Sekarang file php.ini telah diperbarui, Apache perlu direstart sehingga ekstensi baru akan dimuat:
sumber
sumber
make
sebelum melakukan ini. Cukup lakukansudo apt-get install make
php7.0-dev
paketnya sebagai gantinya:sudo apt-get install php7.0-dev
Selain jawaban @ Ask saya juga perlu melakukan:
sebelum menjalankan
pecl install pecl_http
karena saya mendapatkan kesalahan ini tentangpcre.h
:Juga, alih-alih mengedit
php.ini
file saya membuat file baru yang disebutpecl-http.ini
diconf.d
subdirektori di manaphp.ini
file itu, (di ubuntu/etc/php5/apache2/conf.d
)Dan saya perlu menambahkan dalam tiga baris:
Akhirnya, karena versi yang diinstal ini
2.0.6
saya tidak dapat menggunakanhttp_get_request_headers
fungsi tetapi perlu menggunakan versi namespaced,\http\Env::getRequestHeader()
lihat detail lebih lanjut di sinips: jangan lupa untuk me-restart apache ketika Anda selesai (
service apache2 restart
)sumber
extension=json.so
sebelumhttp.so
baris meskipun sudah memilikijson.ini
file yang disertakanconf.d
.Selain jawaban Maythux dan cwd, Anda mungkin tidak ingin mengedit file php.ini Anda karena perubahan ini mungkin hilang pada pembaruan.
Debian (dan dengan demikian Ubuntu) menangani modul php dengan cara yang sama seperti modul apache. Lihatlah
/etc/php5
, Anda akan menemukan direktori seperti ini:Ketika Anda melihat ke dalam,
mods-available
Anda melihat beberapa file seperti:Untuk mengaktifkan / menonaktifkan mod yang tersedia ini untuk semua API (apache, cli, cgi) Anda bisa menggunakan perintah
php5enmod
atauphp5dismod
seperti itu:masing-masing
Ini akan membuat (atau menghapus) tautan simbolis ke file konfigurasi modul di
apache2/conf.d/
dancli/conf.d/
.Anda juga dapat menentukan sapi untuk mengaktifkan / menonaktifkan mod untuk (apache dalam kasus ini):
pecl install
mungkin tidak membuat file konfigurasi untukraphf
(dan modul lain yang terpasang dengannya) tetapi Anda dapat membuatnya sendiri:Kemudian tulis di baris berikut:
Prioritas default adalah 20. Mungkin tergantung pada jenis modul yang prioritas Anda harus gunakan. Untuk
raphf
20 sepertinya baik-baik saja. ( Perbarui : jika Anda sedang mencari pecl_http, sebagai versi 2 telah dimuat setelahrapfh
danpropro
, sehingga menetapkan prioritas dalammods-available/http.ini
untuk30
.)Dengan itu Anda dapat mengaktifkan modul:
(Catatan: jawaban saya bergantung pada Ubuntu 14.04 tetapi mungkin bekerja dengan cara yang sama untuk 13.04, lihat http://www.lornajane.net/posts/2012/managing-php-5-4-extensions-on-ubuntu )
sumber
Sekarang, instal PEAR dengan cara ini, untuk mendapatkannya dari sumber:
sumber