Cara Memasang Php 7 dengan Apache dan MariaDB di CentOS 7/Debian 8

Cara Memasang Php 7 dengan Apache dan MariaDB di CentOS 7/Debian 8

Minggu lepas (lebih tepat lagi Aug. 21, 2015), pasukan pembangunan PHP mengumumkan ketersediaan pelepasan terkini Php 7 dan menggalakkan pengguna dan pemaju di seluruh dunia untuk mengujinya.

Walau bagaimanapun, kita mesti ambil perhatian bahawa kerana ini adalah RC (Calon pelepasan) versi, diharapkan ia mungkin mempunyai pepijat atau ketidakserasian dengan persediaan sedia ada sehingga pengguna diminta untuk melaporkannya menggunakan sistem penjejakan bug dan tidak menggunakannya Php 7 dalam pengeluaran sementara ia kekal dalam fasa itu.

Susun Php 7 di CentOS 7 dan Debian 8

Bahagian terang ialah versi ini termasuk beberapa pembetulan (anda mungkin mahu merujuk halaman ini dalam projek Github repositori untuk senarai terperinci ciri -ciri dan penambahbaikan baru), dengan ciri yang paling membezakan menjadi peningkatan prestasi yang luar biasa jika dibandingkan dengan versi sebelumnya.

Artikel ini akan membimbing anda melalui proses memasang dan menyusun Php 7 RC1 dari sumber tarball bersama -sama dengan Apache dan Mariadb pada Centos 7 dan Debian 8 Jessie. Arahan yang sama juga berfungsi Centos pengagihan berasaskan seperti RHEL, Fedora, Linux saintifik dan Debian berdasarkan seperti Ubuntu/Pudina.

Memasang Php 7 di CentOS 7 dan Debian 8

Seperti yang dinyatakan dalam pengenalan, kerana versi ini adalah RC Daripada pelepasan yang stabil, kita tidak boleh mengharapkan untuk mencarinya di repositori. Atas sebab itu, kita perlu memuat turun kod sumber dan menyusun program dari awal.

Sebelum kita berbuat demikian, kita perlu ingat bahawa untuk lebih baik memanfaatkan Php 7 Dan mungkin cara terbaik untuk mencubanya ialah memasangnya bersama Apache dan Mariadb - yang boleh kita temukan di repositori:

Pada Centos 7

# yum kemas kini && yum pasang httpd mariadb mariadb-server 

Pada Debian 8

# Kemas kini Aptitude & & Aptitude Pasang Apache2 MariaDB-Server MariaDB-Client MariaDB.biasa 

Dalam kedua -dua kes, tarball dengan kod sumber Php boleh dimuat turun dan diekstrak seperti berikut:

# wget https: // muat turun.php.bersih/~ ab/php-7.0.0RC1.tar.GZ # TAR XZF PHP-7.0.0RC1.tar.gz -c /opt 

Setelah selesai, mari kita masuk /OPT/PHP-7.0.0RC1 dan melaksanakan BuildConf skrip dengan -kuasa Tukar untuk memaksa membina versi RC:

# ls 
Php 7 BuildConf
# CD /OPT /PHP-7.0.0RC1.tar.GZ # ./BuildConf --force 
Bina Php 7

Sekarang sudah tiba masanya untuk melaksanakan yang terkenal konfigurasikan perintah. Walaupun pilihan di bawah akan memastikan standard Php 7 Pemasangan, anda boleh merujuk kepada senarai pilihan lengkap dalam manual PHP untuk menyesuaikan pemasangan mengikut keperluan anda dengan lebih baik:

# ./Konfigurasi \ --prefix = $ home/php7/usr \ --with-config-file-path = $ home/php7/usr/etc \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \- -with-curl \ --with-mcrypt \ --with-iconv \ --with-gmp \ --with-pspell \ --with-gd \ --with-jpeg-dir =/usr \ --with- png-dir =/usr \ --with-zlib-dir =/usr \ --with-xpm-dir =/usr \ --with-freetype-dir =/usr \ --enable-gd-native-ttf \ --Enable-gd-jis-conv \ --with-openssl \ --with-pdo-mysql =/usr \ --with-gettext =/usr \ --with-zlib =/usr \ --with-bz2 =/usr \ --with-recode =/usr \ --with-mysqli =/usr/bin/mysql_config \ --with-apxs2 

Sekiranya anda menghadapi ralat berikut:

Konfigurasikan: Ralat: Tiada pengkompil C yang boleh diterima dalam $ Path See 'Config.Log 'untuk maklumat lanjut 
Php 7 Konfigurasi

Cukup pasang GCC dan kebergantungan dengan arahan berikut dan jalankan di atas konfigurasikan perintah lagi.

# yum pasang gcc [on Centos 7 kotak] # Aptitude Pasang GCC [on Debian 8 kotak] 

Anda akan dalam perjalanan untuk menyusun Php 7, yang mungkin mengambil sedikit masa. Sekiranya terdapat perpustakaan atau sumber yang hilang, proses ini akan gagal tetapi anda sentiasa boleh memasangnya dan menjalankan konfigurasi lagi.

Contohnya, saya terpaksa memasang libxml2-devel Setelah mendapat mesej ralat berikut:

Konfigurasikan: Ralat: Xml2-Config tidak dijumpai. Sila periksa pemasangan libxml2 anda. 

Malangnya, kita tidak boleh meliputi semua senario kes kerana perisian yang dipasang mungkin berbeza dari satu sistem ke sistem yang lain. Semasa pemasangan, anda mungkin mahu merujuk kepada halaman ini yang menggariskan beberapa kesilapan yang mungkin anda jalani semasa memasang PHP dari sumber, bersama dengan penyelesaian masing -masing.

Pada Centos 7

Berikut adalah senarai lengkap pakej yang perlu saya pasang di saya Centos 7 Kotak sebelum dapat menyelesaikan proses konfigurasi:

gcc libxml2-devel pkgconfig openssl-devel bzip2-devel curl-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel 

Anda boleh memasang semua pakej yang diperlukan di atas dengan satu yum arahan seperti yang ditunjukkan.

# yum memasang gcc libxml2-devel pkgconfig openssl-devel bzip2-devel libpng-devel libpng-devel libjpeg-devel libxpm-devel freetype-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel 

Mesej berikut menunjukkan bahawa konfigurasi selesai dengan jayanya:

Konfigurasi Php 7 berjaya

Kemudian lari,

# buat # buat pemasangan 

Apabila pemasangan selesai, anda boleh menyemak versi menggunakan baris arahan:

Semak versi PHP

Pada Debian 8

Dalam Debian, Saya terpaksa memasang pakej berikut untuk proses konfigurasi untuk menyelesaikan dengan jayanya:

make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2- Dev 

Anda boleh memasang semua pakej yang diperlukan di atas dengan apt-get perintah pada Debian 8.

# apt-get install make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2-dev 

Kemudian tambah, -dengan libdir =/lib/x86_64-linux-gnu untuk mengkonfigurasi pilihan, dan buat symlink berikut ke GMP.h fail header:

# ln -s/usr/termasuk/x86_64-linux-gnu/gmp.h/usr/termasuk/gmp.h 

Kemudian berlari buat dan buat pemasangan Seperti dalam kes sebelumnya. Dalam 10-15 Minit kompilasi sepatutnya selesai dan kami dapat mengesahkan versi PHP yang dipasang seperti dahulu:

# buat # buat pemasangan 
Semak versi PHP dalam Debian 8

Menyediakan PHP.INI dan menguji pemasangan Php 7

Apabila anda memasang PHP dari sumber, dua sampel php.Ini disediakan. Dalam kes ini, mereka terletak di dalam /OPT/PHP-7.0.0RC1:

# ls -l /opt /php -7.0.0RC1 | GREP PHP.Ini 
Php konfigurasi php 7.fail ini

Anda kini perlu menyalin salah satu daripada mereka /usr/local/lib, yang ditetapkan sebagai lokasi lalai untuk fail seperti nota pemasangan:

# CP /OPT /PHP-7.0.0RC1/PHP.INI-Development/USR/Local/Lib 

Dan jangan lupa untuk menambah arahan konfigurasi ini ke fail konfigurasi utama Apache.

/etc/httpd/conf/httpd.conf [on Centos 7 kotak]/etc/apache2/apache2.conf in [on Debian 8 kotak] 
LoadModule Php7_Module/usr/lib64/httpd/modul/libphp7.So Sethandler Application/X-Httpd-PHP  

Dalam Debian 8 anda boleh menghilangkan LoadModule garis dan juga anda perlu mengeluarkan dan membuat pautan simbolik berikut ke modul Apache yang ditunjukkan:

# cd/etc/apache2 # rm mods-enabled/mpm_event.conf # rm mods-enabled/mpm_event.beban # ln -s mods -tersedia/mpm_prefork.conf mpm_prefork.conf # ln -s mods -available/mpm_prefork.Muatkan mpm_prefork.beban 

Kemudian, mulakan semula pelayan web:

# Systemctl mulakan semula httpd [on Centos 7 kotak] # Systemctl mulakan semula apache2 [on Debian 8 kotak] 

Jika bermula Apache dalam Centos 7 mengembalikan mesej ralat yang mengatakan ia tidak dapat mencari libphp7.Jadi modul, hanya salin ke jalan yang ditunjukkan dari /OPT/PHP-7.0.0rc1/.libs/libphp7.Jadi.

Cara klasik untuk menguji pemasangan PHP/Apache menggunakan a phpinfo () fail. Buat fail yang dinamakan ujian.php dengan kandungan berikut dalam akar dokumen pelayan web (/var/www/html dalam kedua -dua pengagihan):

 

Dan melancarkan penyemak imbas dalam pelanggan dalam rangkaian anda untuk menguji:

http: // localhost/ujian.php atau http: // ip-address/ujian.php 
Sahkan maklumat Php 7 di CentOS 7 Sahkan maklumat Php 7 dalam Debian 8

Ringkasan

Dalam artikel ini, kami telah menjelaskan cara memasang Php 7 dari kod sumber, RC terbaru dari bahasa skrip sisi pelayan yang popular ini yang bertujuan meningkatkan prestasi pada nilai yang belum pernah terjadi sebelumnya. Sehingga sampai ke kandang November tahun ini 2015, Awak Sangat dinasihatkan untuk Tidak Gunakan siaran ini dalam persekitaran pengeluaran.

Sekiranya anda mempunyai sebarang pertanyaan / komen / cadangan mengenai artikel ini, jangan ragu untuk memberitahu kami menggunakan borang di bawah.