Kadang -kadang sukar untuk mengetahui sambungan PHP yang anda perlukan sebelum anda memasang PHP. Dalam kes -kes di mana anda perlu menambah sambungan kemudian, anda mungkin bernasib baik dan lanjutannya boleh berada di repositori OS yang anda gunakan. Ia mungkin hanya pemasangan yang mudah untuk memasang Php5-Intl. Walau bagaimanapun, dalam kes-kes lain, anda mungkin perlu memasangnya dari sumber-Phalcon adalah satu kes sedemikian, tetapi ia menjadikan prosedur sangat mudah dengan memperkenalkan sokongan vendor, pintasan dan arahan yang ditulis pra-ditulis untuk OS anda untuk dilaksanakan. Bagaimana jika tidak ada perkara sedemikian untuk sambungan lain, walaupun?
Dalam tutorial ini, kami akan melalui memasang beberapa sambungan tersuai pada sistem Linux (dan OS X - prosesnya hampir sama). Prosedur ini sangat mirip dengan apa yang telah kita lakukan di Nitrous.io, tetapi disesuaikan untuk persekitaran tempatan - lebih khusus, Laravel Homestead. Anda boleh mendapatkan arahan pemasangan dari tutorial ini dengan mudah dan memohonnya ke distros lain.
Takeaways Key
Memasang sambungan PHP dari sumber memerlukan alat pembangunan PHP dan pengkompil yang dipasang pada mesin anda, serta kod sumber PHP dan kod sumber lanjutan. -
Proses memasang sambungan PHP dari sumber melibatkan beberapa langkah: memuat turun kod sumber, menyediakan folder lanjutan untuk penyusunan dengan phpize, mengkonfigurasi persekitaran untuk penyusunan, menyusun sumber ke dalam fail. Folder Sambungan Pemasangan PHP Semasa. -
Selepas pemasangan, sambungan PHP perlu diaktifkan dengan menambahkannya ke fail php.ini atau membuat fail INI yang berasingan untuk setiap pelanjutan dalam folder yang mendapat auto-termasuk selepas php.ini dimuatkan. -
Untuk mengeluarkan sambungan, anda boleh menggunakan alat Php5Dismod, keluarkan symlinks secara manual, atau keluarkan garis yang membolehkan dari fail php.ini. -
boot vm
Jika anda belum melakukannya, baca jawatan Homestead yang dipautkan di atas dan dapatkannya dan berjalan. Sejurus selepas menjalankan kotak homestead baru, anda sepatutnya dapat melakukan ini:
Itu baik -baik saja, ini berlaku kerana folder yang dipasang secara lalai sebenarnya tidak mengandungi sebarang fail lagi. Sekarang ssh vagrant ke dalam VM, dan laksanakan perintah berikut:
Ini mewujudkan fail maklumat PHP yang sah di jalan yang Homestead ditetapkan secara lalai. Menyegarkan URL kini akan menghasilkan skrin phpinfo:
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Prepping Alam Sekitar
Untuk membina sambungan dari sumber, kami memerlukan alat php dev yang dipasang pada mesin kami, serta pengkompil yang dapat menghasilkan fail lanjutan. Berikut adalah cara anda memasang prasyarat ini pada pelbagai sistem operasi:
Ubuntu
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
fedora
<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>
RHEL
<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
suse
<span>sudo yum install php-devel php-mysql gcc libtool</span>
Jika anda menggunakan homestead yang paling terkini, semua alat ini akan dipasang untuk anda. Dengan semua yang disediakan, mari kita mula memasang sambungan.
Memasang sambungan
Terdapat dua jenis sambungan yang anda boleh pasang: dibundel dengan PHP tetapi tidak dipasang secara lalai, dan sambungan pihak ketiga. Sambungan pihak ketiga seperti Phalcon biasanya membuat proses pemasangan lebih mudah dengan menyediakan jalan pintas, kerana mereka tidak perlu mematuhi tradisi tertentu yang dibundel PHP lanjutan terikat oleh.
Pertama, mari kita masuk ke folder rumah pada VM: CD ~. Di sana, buat folder muat turun, dan CD ke dalamnya. Apabila memasang pelanjutan yang dibundel, anda memerlukan kod sumber PHP pada mesin anda, sebaiknya satu yang sepadan dengan versi semasa anda. Kegunaan Homestead versi adalah 5.5.12, jadi saya akan memuat turun yang satu:
<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
Saya menggunakan cermin Belgium di atas, berasa bebas untuk menggunakan satu atau yang lain dari arkib muat turun.
3
memasang lanjutan yang dibundel
Pertama, kami akan memasang pelanjutan PHP-Intl jika anda tidak memasangnya. Sekiranya anda berbuat demikian, itu baik -baik saja - prosedur pemasangan yang akan anda lihat di bawah adalah sama untuk setiap lanjutan PHP yang dibundel. Pelanjutan INTL adalah untuk pengantarabangsaan - baca lebih lanjut di sini jika anda berminat.
Melihat sebagai lanjutan INTL memerlukan perpustakaan ICU sebagai prasyarat (seperti yang dinyatakan dalam keperluan), mari pasang yang pertama.
Di bawah pengagihan lain, arahan pemasangan mungkin berbeza -beza. Lebih baik jika anda merujuk kepada laman ICU atau dokumen pengedaran individu anda untuk langkah ini.
Setelah ICU dipasang, lakukan yang berikut semasa masih dalam folder ext:
<span>wget http://be2.php.net/distributions/php-5.5.12.tar.bz2
</span><span>tar xvjf php-5.5.12.tar.bz2
</span><span>cd php-5.5.12</span>
mari kita jelaskan apa yang sedang berlaku.
- PHPIZE menyediakan folder lanjutan untuk pemeliharaan. Ia membolehkan anda melakukan perintah berikutnya dengan membuat fail konfigurasi, dan pada dasarnya membuat folder lanjutan "berfikir" itu PHP sendiri. Prosedur selepas PHPIZE, sebenarnya, sama dengan apa yang akan anda lakukan apabila memasang PHP dari sumber - hanya dalam kes ini, hanya serpihan PHP disusun dan disediakan untuk digunakan dengan PHP yang telah disusun dan dipasang.
./ Configure --Enable-Intl mengkonfigurasi persekitaran untuk penyusunan. Ia menyediakan segala -galanya pengkompil perlu membuat fail intl.so yang akan kami gunakan. Bendera Enable-Intl diperlukan walaupun kita berada dalam folder INTL kerana folder, dengan berkesan, menganggapnya - adalah php, dan kita perlu membantu ia hidup ilusi itu. Perintah ini menceritakannya: "Baiklah, anda kod sumber PHP. Sekarang menyusun dan memasang dengan lanjutan INTL. ", Sebenarnya, ia adalah satu -satunya bahagian yang boleh dipasang dari folder ini.
membuat akan menyusun sumber ke dalam intl.so, meletakkan fail ke dalam folder yang anda sedang dalam, di bawah subfolder modul.
sudo membuat pemasangan akan memindahkan fail ini ke folder sambungan pemasangan PHP semasa. -
- semua yang perlu kita lakukan sekarang adalah membolehkan pelanjutan dengan mempunyai php.ini memakannya. Kami akan melakukannya kemudian, mari kita menyusun pelanjutan pihak ketiga terlebih dahulu.
memasang pelanjutan pihak ketiga
Kami akan memasang Mongo sebagai pelanjutan pihak ketiga. Terdapat pengagihan binari yang tersedia untuk Mongo yang membuat pemasangan lebih mudah, tetapi mari kita lakukan secara manual demi pendidikan. Kami akan menganggap anda sudah memasang Mongo sebenar, dan dengan itu hanya memberi tumpuan kepada lanjutan PHP. Jika anda tidak memasang Mongo, rujuk dokumen pemasangan mereka.
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Ini telah membina fail mongo.so kami, dan meletakkannya ke dalam folder sambungan pemasangan PHP kami. Kami akan membolehkannya di bahagian seterusnya.
Membolehkan dan menguji
untuk melihat apakah fail yang disusun.
seperti yang anda lihat, di sana mereka, diserlahkan dalam hijau terang.
Untuk membolehkan mereka, kita perlu memberitahu php.ini tentang mereka. Terdapat beberapa cara untuk melakukan ini:
- anda boleh meletakkan lanjutan garisan = mongo.so dan lanjutan = intl.so terus ke php.ini. Ini berfungsi, dan merupakan pendekatan yang sempurna dalam kebanyakan kes.
- Anda boleh membuat fail INI yang berasingan untuk setiap ini, meletakkannya dalam folder yang mendapat auto-termasuk selepas php.ini dimuatkan, dan mengekalkan pemisahan dan pengasingan php.ini dengan cara itu. Pendekatan ini lebih sihat, walaupun lebih sukar dicapai.
- anda boleh menggabungkan 2) dan alat lalai untuk membolehkan mod PHP. Homestead menggunakan pendekatan ini, dan begitu juga kita.
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Folder ini adalah repositori semua fail INI individu tersebut. Buat dua fail baru di sini:
<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>
Perintah ini mencipta dua fail INI baru, masing -masing untuk salah satu sambungan yang telah kami bina sebelum ini. Memandangkan mereka kini berada dalam folder mod yang tersedia, kita boleh menggunakan alat perintah PHP5Enmod (pendek untuk PHP Enable Mod) yang sudah tersedia.
<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
Nota: Jika anda tidak mempunyai alat Php5Enmod, simlinking fail INI ke dalam folder Conf.d pelbagai runtime PHP akan melakukan tipu muslihat:
<span>sudo yum install php-devel php-mysql gcc libtool</span>
Sebab mengapa terdapat empat penyertaan ialah kita mempunyai versi baris arahan PHP dan versi FPM PHP. Setiap menggunakan fail php.ini sendiri, dan masing-masing memuatkan folder Conf.D sendiri untuk sambungan-oleh itu, kita perlu menambah kedua-dua sambungan ke kedua-dua versi PHP jika kita mahu sambungan yang tersedia di sekeliling. Gunakan pendekatan ini hanya jika anda tidak mempunyai alat php5enmod.
Akhirnya, mari kita mulakan semula nginx dan php-fpm untuk memuatkan perubahan ini.
<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
Untuk melihat sama ada kami telah memasangnya, muat semula skrin phpinfo dari sebelumnya dan cari mongo dan intl masing -masing.
Kejayaan!
Mengeluarkan sambungan
Untuk mengeluarkan sambungan, tidak perlu memadam sebarang fail sebenar melainkan anda benar -benar rendah di ruang angkasa. Anda boleh melakukannya dalam tiga cara:
Jalankan php5dismod jika anda mempunyai alat yang tersedia. Ia bertentangan dengan alat Php5Enmod yang disebutkan di atas. Fail-fail .so akan kekal di tempat, dan fail INI akan kekal dalam mod yang tersedia, mereka tidak akan dimuatkan kerana symlink mereka akan dikeluarkan dari folder FPM dan CLI Conf.D.
- Keluarkan symlinks secara manual. Mis. sudo rm /etc/php5/cli/conf.d/mongo.ini
- Jika anda mengaktifkan sambungan dengan meletakkannya terus ke dalam fail php.ini, keluarkan garisan tersebut dari fail php.ini, atau lebih baik lagi, komen mereka supaya mereka tetap dapat diakses untuk kegunaan selanjutnya sekiranya anda mengubah fikiran anda.
-
Kesimpulan
seperti yang anda lihat, memasang sambungan dari sumber adalah sangat mudah, walaupun tidak ada arahan yang tepat dan walaupun pelanjutan itu tidak disokong oleh repositori rasmi OS. Kali berikutnya anda perlu menambah pelanjutan ke dalam pemasangan PHP anda pada sistem *nix (tutorial ini juga digunakan untuk OS X), rujuk kembali ke jawatan ini untuk penyegaran.
Sila tinggalkan maklum balas anda di bawah, dan beritahu saya jika anda keliru dengan pelanjutan tertentu dan ingin membantu memasangnya.
Soalan Lazim (Soalan Lazim) Mengenai Memasang Sambungan PHP Dari Sumber
Apakah prasyarat untuk memasang sambungan PHP dari sumber?
Sebelum anda mula memasang sambungan PHP dari sumber, anda perlu mempunyai beberapa perkara di tempat. Pertama, anda perlu memasang PHP pada sistem anda. Anda juga perlu mempunyai persekitaran pembangunan PHP, yang termasuk alat seperti pengkompil dan membuat. Di samping itu, anda perlu mempunyai kod sumber PHP yang tersedia, kerana anda akan membina lanjutan secara langsung dari kod ini. Akhir sekali, anda perlu mempunyai kod sumber lanjutan. Ini biasanya boleh dimuat turun dari laman web rasmi lanjutan atau dari repositori seperti pecl. Pemasangannya dengan menggunakan fungsi phpinfo (). Fungsi ini menyediakan banyak maklumat mengenai pemasangan PHP anda, termasuk senarai sambungan yang dipasang. Untuk menggunakannya, buat fail PHP baru dalam akar dokumen pelayan web anda, tambahkan panggilan ke phpinfo (), dan kemudian lihat fail ini dalam pelayar web anda. Sambungan yang dipasang disenaraikan dalam bahagian 'PHP Core'.
Bolehkah saya memasang sambungan PHP pada sistem Windows? Walau bagaimanapun, prosesnya sedikit berbeza berbanding dengan sistem seperti Unix. Daripada menyusun pelanjutan dari sumber, anda biasanya akan memuat turun fail DLL yang telah dikompilasi dan menambahnya ke pemasangan PHP anda. Laman web php.net memberikan arahan terperinci tentang cara melakukan ini. langkah adalah dengan teliti membaca mesej ralat. Ia sering mengandungi petunjuk tentang apa yang berlaku. Isu -isu biasa termasuk kebergantungan yang hilang, pilihan konfigurasi yang salah, dan masalah dengan kod sumber PHP. Jika anda tidak dapat menyelesaikan masalah anda sendiri, pertimbangkan untuk mendapatkan bantuan daripada komuniti PHP. Terdapat banyak forum dan senarai mel di mana anda boleh meminta bantuan. kemudian mengulangi proses pemasangan. Walau bagaimanapun, langkah -langkah yang tepat boleh berbeza -beza bergantung kepada lanjutan. Adalah idea yang baik untuk menyemak dokumentasi rasmi lanjutan untuk arahan kemas kini tertentu.
Bolehkah saya memasang beberapa sambungan PHP sekaligus? Ini boleh dilakukan dengan menentukan pelbagai sambungan dalam perintah konfigurasi. Walau bagaimanapun, perlu diingat bahawa setiap pelanjutan mungkin mempunyai set kebergantungan dan pilihan konfigurasi sendiri.
Bagaimana saya boleh menyahpasang pelanjutan php?
Menyahpasang lanjutan PHP melibatkan mengeluarkan konfigurasi lanjutan dari fail php.ini anda dan kemudian memulakan semula pelayan web anda. Sekiranya pelanjutan dipasang sebagai modul yang dikongsi, anda juga mungkin perlu memadam fail .so atau .dll modul.
Apakah repositori PECL? Sambungan PHP yang diedarkan sebagai kod sumber. Sambungan ini boleh dipasang menggunakan arahan PECL, yang mengautomasikan proses memuat turun, menyusun, dan memasang sambungan. Sambungan PHP tanpa akses root. Ini boleh dilakukan dengan memasang PHP di direktori rumah anda dan kemudian memasang sambungan di sana. Walau bagaimanapun, pendekatan ini memerlukan lebih banyak pengetahuan teknikal dan mungkin tidak sesuai untuk semua pengguna. Fungsi tambahan kepada bahasa PHP. Beberapa sambungan biasa termasuk MySQLI untuk berinteraksi dengan pangkalan data MySQL, GD untuk membuat dan memanipulasi fail imej, dan curl untuk membuat permintaan HTTP.
Atas ialah kandungan terperinci Cara memasang sambungan php dari sumber. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!