Php ialah bahasa pengaturcaraan web dan pembangunan laman web yang popular. Dengan setiap versi baharu, bahasa itu menjadi semakin menarik, semuanya bermula dengan bahasa pengaturcaraan berorientasikan fungsi mudah yang sesuai hanya untuk mencipta halaman web, dan akhirnya Php 5 kini diletakkan sebagai bahasa skrip berorientasikan objektif berciri penuh. php 7 membawa banyak penambahbaikan dan pembaikan yang menarik, seperti pengoptimuman prestasi keseluruhan dan penambahan berbilang benang, tetapi hari ini kita tidak bercakap tentang itu; anda boleh mendapatkan ulasan ciri php 7 di internet.
Arahan ini akan menerangkan pemasangan php 7 pada Linux; ia bertujuan terutamanya untuk pengguna Ubuntu, tetapi juga sesuai untuk pengedaran lain. Kami akan melihat pemasangan daripada PPA pada Ubuntu dan membina daripada sumber.
Repositori PPA membenarkan pembangun pihak ketiga untuk mengedarkan pakej perisian mereka, memintas repositori rasmi Ubuntu. Biasanya anda boleh mendapatkan program versi terbaharu atau beta daripada PPA. Selepas keluaran rasmi php 7, PPA telah dibuat untuk Ubuntu. Mari tambahkannya ke sistem:
$ sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get kemas kini
Dan anda boleh memasang:
sudo apt-get install php7.0
Untuk menyokong mysql anda perlu memasang perpustakaan:
sudo apt-get install php7.0-mysql
Untuk memasang php sebagai modul fpm, jalankan:
sudo apt-get install php7.0-fpm
Membina php 7 daripada sumber
Mula-mula, mari kita pasang alat dan perpustakaan yang kita perlukan:
sudo apt-get install git autoconf bison libxml2 libxml2-dev opessllibcurl4-openssl-dev libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libmcrypt-dev-dev libmysqlibps-dev
Mari buat folder yang berfungsi:
Mari kita menyegerakkan sumber php dari repositori git:
git klon https://git.php.net/repository/php-src.git
Kami meneruskan terus ke pemasangan dan pemasangan, program akan dipasang dalam folder semasa - ~/tmp:
cd php-src
$ sudo ./buildconf
$sudo./configure\
--enable-mbstring\
--dayakan-zip\
--enable-bcmath\
--enable-pcntl\
--enable-ftp\
--enable-exif \
--dayakan-kalendar\
--enable-sysvmsg\
--enable-sysvsem\
--enable-sysvshm\
--dayakan-wddx\
--with-curl\
--dengan-mcrypt\
--with-iconv\
--dengan-gmp\
--with-pspell\
--dengan-gd\
--with-jpeg-dir=/usr\
--with-png-dir=/usr\
--with-zlib-dir=/usr\
--with-xpm-dir=/usr\
--with-freetype-dir=/usr\
--with-t1lib=/usr\
--enable-gd-native-ttf\
--dayakan-gd-jis-conv\
--with-openssl\
--with-mysql=/usr \
--with-pdo-mysql=/usr \
--with-gettext=/usr\
--with-zlib=/usr\
--with-bz2=/usr\
--with-recode=/usr \
--with-mysqli=/usr/bin/mysql_config
$ buat
Buat folder untuk fail konfigurasi:
mkdir $HOME/tmp/usr/etc
Buat fail konfigurasi php dengan kandungan berikut:
nano $HOME/tmp/usr/etc/php.ini
max_execution_time=600
had_memori=128J
error_reporting=0
display_errors=0
log_errors=0
user_ini.filename=
realpath_cache_size=2M
cgi.check_shebang_line=0
zend_extension=opcache.so
opcache.enable_cli=1
opcache.save_comments=0
opcache.fast_shutdown=1
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.use_cwd=1
opcache.max_accelerated_files=100000
opcache.max_wasted_percentage=5
opcache.memory_consumption=128
opcache.consistency_checks=0
Simpan, dan php 7 dipasang dan dikonfigurasikan, anda boleh meneruskan ujian.
Menguji
Mari lihat versi php:
Atau jalankan skrip:
nano ~/tmp/script.php
phpinfo() ?>
sapi/cli/php ~/tmp/script.php
Dan akhirnya penanda aras:
sapi/cli/php Zend/bench.php
$ sapi/cli/php Zend/micro_bench.php
Selalunya pakej yang diperlukan hanya boleh didapati dalam bentuk sumber; artikel ini menerangkan kaedah untuk memasang pakej daripada kod sumber.
Membuka kotak
Program biasanya diedarkan dalam arkib berpakej, ini adalah fail dengan sambungan
Anda perlu memahami perbezaan antara pengarkib dan pembungkus.
Program ini digunakan untuk mengarkib direktori dan fail tar; hasil kerjanya ialah fail dengan sambungan .tar. Secara kasarnya, ini adalah salinan sistem fail - direktori dan fail dengan atribut dan hak aksesnya, diletakkan dalam satu fail.
Saiz fail ini akan lebih besar sedikit daripada jumlah saiz fail yang diarkibkan. Oleh itu (atau mungkin atas sebab lain) mereka menggunakan pembungkus - program yang membolehkan anda mengurangkan saiz fail tanpa kehilangan data.
Program tar boleh bongkar, jadi tak perlu call gunzip, atau anda boleh memberitahu program tersebut tar bahawa fail mesti dibongkar dahulu. Sebagai contoh, arahan
tar -xvf< some_app_name>.tar.gzakan segera membongkar dan membuka zip. Perbezaan antara fail dan sambungan
cuma pembungkus yang berbeza digunakan, program itu tar menentukan kaedah mampatan secara automatik dan tiada pilihan tambahan diperlukan dalam kes ini.
Selepas membongkar, anda perlu pergi ke direktori yang terhasil; semua arahan yang diterangkan di bawah dilaksanakan dalam direktori dengan kod sumber pakej.
CD< имя_пакета>*Membina pakej
Untuk membina program dalam GNU/Linux, anda menggunakan (kebanyakannya) program buat, yang menjalankan arahan daripada Makefile, tetapi memandangkan terdapat banyak pengedaran GNU/Linux, dan semuanya berbeza, untuk membina program, untuk setiap pengedaran anda perlu menentukan secara berasingan laluan di mana perpustakaan dan fail pengepala berada. Pengaturcara tidak boleh mengkaji setiap pengedaran dan mencipta secara berasingan untuk setiap pengedaran Makefile. Oleh itu, mereka menghasilkan konfigurator yang "mengkaji" sistem dan, mengikut pengetahuan yang diperoleh, mencipta Makefile. Tetapi mereka tidak berhenti pada configurator dan muncul dengan configurators configurators...di situlah mereka berhenti
Untuk membina kita memerlukan penyusun: ia dinyatakan dalam kebergantungan pakej bina-penting, jadi sudah cukup untuk memasangnya dengan semua kebergantungan. Masih diperlukan autoconf Dan automake.
Jadi, untuk membina sesuatu daripada sumber, anda perlu membina configurator terlebih dahulu; cara membina configurator diterangkan dalam fail configure.in. Untuk membina configurator anda perlu jalankan
./ bootstrap ./ autogen.shJika tiada skrip sedemikian dalam arkib, anda boleh menjalankan arahan berikut mengikut urutan:
autoheader aclocal automake --gnu --tambah-tiada --salin --autokonf asing -f -WallSemua arahan ini menggunakan fail configure.in. Selepas melaksanakan arahan ini, fail akan dibuat mengkonfigurasi. Selepas ini, anda perlu menjalankan configurator untuk memeriksa kehadiran semua kebergantungan, serta memasang pilihan binaan tambahan (jika boleh) dan melihat hasil pemasangan (pilihan - mungkin tidak hadir)
./ konfigurasiKonfigurator akan membina Makefile berdasarkan pengetahuan yang diperoleh dan fail makefile.am. Anda boleh menghantar kepada configurator pilihan yang disediakan dalam sumber program, yang membolehkan anda mendayakan/melumpuhkan ciri program tertentu; biasanya anda boleh mengetahui tentangnya dengan arahan
./ configure --helpTerdapat juga satu set pilihan standard, seperti
Awalan=
Yang menentukan direktori mana yang hendak digunakan untuk pemasangan. Biasanya untuk Ubuntu
--prefix =/ usr --prefix =/ usr/ localTANPA tetak di hujungnya! Kini anda boleh memulakan proses membina program itu sendiri dengan arahan
buatKeistimewaan pengguna biasa sudah memadai untuk dibina. Penghujung binaan boleh dianggap sebagai saat apabila arahan dalam konsol berhenti dilaksanakan "secara rawak" dan tiada perkataan kesilapan. Sekarang semuanya disusun dan sedia untuk dipasang.
Pemasangan
Usaha yang dibelanjakan untuk pemasangan yang betul akan membuahkan hasil pada masa hadapan jika perisian yang dipasang dialih keluar atau dikemas kini.
Pemasangan yang betul (Pilihan No. 1)
Pemasangan menggunakan utiliti semak pemasangan. Untuk memasang:
sudo apt-get install checkinstallKelemahan kaedah ini: semak pemasangan tidak memahami semua sumber, kerana pengarang program boleh menulis skrip pemasangan khas dan semak pemasangan tidak akan memahami mereka.
Untuk membuat dan memasang pakej deb yang anda perlu jalankan
sudo checkinstallPemasangan yang betul (Pilihan No. 2)
Cepat buat pakej deb secara manual.
Perbezaan utama daripada kaedah sebelumnya ialah dalam kes ini anda membuat pakej secara manual dan menjejaki semua perubahan yang anda buat. Kaedah ini juga sesuai dengan anda jika sumber tidak menyokong membina pakej dengan semak pemasangan.
Kami memasang dalam direktori sementara, di mana kami mendapat keseluruhan set fail yang dipasang:
Mari buat direktori DEBIAN dalam "akar pakej" dan tambahkan senarai semua fail yang harus masuk ke /etc ke dalam DEBIAN/conffiles:
Kemudian kami mencipta fail DEBIAN/kawalan dengan kandungan berikut:
Jika perlu, anda juga boleh membuat skrip preinst, postinst, prerm dan postrm di sana.
Kami mencipta pakej deb, yang kami laksanakan:
Outputnya ialah tempinstall.deb, yang kami pasang
Pemasangan (pilihan No. 3)
Pemasangan yang salah
Kelemahan kaedah ini ialah jika anda memasang terus melalui make install, kemungkinan besar anda tidak akan dapat mengalih keluar atau mengemas kini pakej seperti biasa. Selain itu, memasang versi baharu berbanding versi lama kemungkinan besar akan menimpa perubahan anda dalam konfigurasi. make install melakukan apa yang disuruh lakukan - ia memasang fail di tempat yang betul, mengabaikan hakikat bahawa sesuatu sudah ada. Selepas proses ini, adalah mustahil untuk mendapatkan sebarang maklumat tentang apa yang diletakkan di mana dan dalam bentuk yang boleh dihadam. Kadangkala, sudah tentu, Makefile menyokong tindakan nyahpasang, tetapi ini tidak begitu biasa, dan ia bukan fakta bahawa ia berfungsi dengan betul. Di samping itu, anda perlu menyimpan pokok sumber yang tidak dibungkus dan membina peraturan untuk menyahpasang.
Untuk memasang anda perlu lakukan
sudo buat pemasanganUntuk mengalih keluar pakej yang dipasang menggunakan kaedah ini, anda mesti melaksanakannya dalam direktori akar sumber program (di mana anda menjalankan make install).
sudo buat nyahpasangKesilapan
Selalunya pada peringkat konfigurasi, configurator melaporkan bahawa perpustakaan tertentu tiada. Nama perpustakaan yang dilaporkan tidak selalu sepadan dengan nama pakej dalam Ubuntu. Daripada pengalaman saya sendiri, saya boleh menasihati anda untuk mencari Synaptic untuk pakej yang diperlukan, tidak termasuk awalan lib. Jika anda menemui beberapa pakej yang berbeza dengan awalan -dev dalam nama, maka anda perlu memasang pakej -dev (biasanya ia juga memerlukan pakej bukan dev). Anda juga boleh mencari menggunakan http://packages.ubuntu.com/ dengan memasukkan nama perpustakaan ke dalam carian kandungan pakej, begitu juga, jika anda menemui dev dan bukan dev, anda memerlukan kedua-duanya. Baiklah, atau cari sahaja di Google.
Perisian yang Diperlukan
Pakej dengan mm pada akhir huraian ialah pakej untuk program C++. Senarai untuk bmpx, tetapi sesuai untuk hampir semua program GTK2/Gnome. Jadi jika anda tidak dapat memasangnya, lihat senarai ini dan bandingkan dengan apa yang telah anda pasang.
Susun: | Masa jalan: | |
---|---|---|
X | libx11-dev | libx11-6 |
GlibMM | libglibmm-2.4-dev | libglibmm-2.4-1c2a |
GTK+ | libgtk2.0-dev,gtk-doc-tools | libgtk2.0-0 |
GTKMM | libgtkmm-2.4-dev | libgtkmm-2.4-1c2a |
Glade | libglade2-dev | libglade2-0 |
GladeMM | libglademm-2.4-dev | libglademm-2.4-1c2a |
XML | libxml2-dev | libxml2 |
XML++ | libxml++2.6-dev | libxml++2.6c2a |
DBus | libdbus-1-dev,libdbus-glib-1-dev | libdbus-1-2,libdbus-glib-1-2 |
Alsa | libasound2-dev | libasound2 |
HAL | libhal-dev,libhal-storage-dev | libhal1,libhal-storage1 |
Gamin | libgamin-dev | libgamin0 |
Neon | libneon25-dev | libneon25 |
TagLib | libtagc0-dev | libtagc0 |
Startup-Notify | libstartup-notification0-dev | libstartup-notification0 |
Galakan | libboost-dev,libboost-filesystem-dev | libboost-filesystem1.33.1 |
MusicBrainz | libmusicbrainz4-dev | libmusicbrainz4c2a |
GStreamer | libgstreamer0.10-dev,libgstreamer-plugins-base0.10-dev | libgstreamer0.10-0,libgstreamer-plugins-base0.10-0 |
Dalam tutorial ini kami akan menunjukkan kepada anda cara memasang PHP 7 pada Linux VPS. PHP ialah bahasa skrip sebelah pelayan yang digunakan untuk pembangunan web.
PHP 7 datang dengan banyak ciri baharu dan dipertingkatkan. Salah satu yang paling ketara ialah versi baharu Zend Engine. Di samping itu, terdapat peningkatan penting lain yang meningkatkan prestasi dan mengurangkan penggunaan memori dengan ketara. Jadi PHP 7 boleh dua kali lebih pantas daripada PHP 5.6.
Untuk memasang PHP 7 pada VPS Ubuntu, anda perlu log masuk ke pelayan anda melalui . Setelah anda log masuk, kemas kini semua perisian sistem kepada versi terkini menggunakan arahan berikut:
Sudo apt-get update && sudo apt-get -y upgrade
Juga, pastikan tempat sistem anda ditetapkan kepada UTF-8. PHP 7 PPA untuk Ubuntu disokong oleh Ondřej Suri. Kami akan menggunakan PPA ini untuk memasang PHP 7 pada Ubuntu 14.04.
Tambahkan PPA ke senarai sumber APT:
Sudo add-apt-repository ppa:ondrej/php-7.0
Jika anda menerima ralat bahawa arahan 'add-apt-repository' tidak dapat ditemui, kemungkinan besar sistem anda tidak disertakan dalam pakej 'software-properties-common'. Teruskan dan pasang pakej yang diperlukan.
Sudo apt-get install software-properties-common
Setelah pemasangan selesai, ulangi arahan untuk menambah PHP 7 PPA ke senarai sumber APT anda.
Kemas kini cache pakej tempatan menggunakan arahan:
Sudo apt-get kemas kini
Ini mungkin mengambil masa beberapa minit, dan setelah selesai anda akan bersedia untuk memasang pakej PHP 7.
Sudo apt-get install php7.0
Untuk memastikan bahawa versi stabil terkini PHP 7 dipasang pada pelayan anda, anda boleh menjalankan arahan:
Anda sepatutnya mendapat sesuatu seperti ini:
PHP 7.0.1-1+deb.sury.org~trusty+2 (cli) (NTS) Hak Cipta (c) 1997-2015 PHP Group Zend Engine v3.0.0, Hak Cipta (c) 1998-2015 Zend Technologies dengan Zend OPcache v7.0.6-dev, Hak Cipta (c) 1999-2015, oleh Zend Technologies
Untuk memasang modul PHP 7 tambahan, contohnya 'php7.0-MySQL', anda boleh menggunakan arahan di bawah:
Sudo apt-get install php7.0-mysql
Untuk mencari modul PHP7 yang tersedia, jalankan arahan berikut:
Sudo apt-cache carian php7
Jika anda ingin menguji cara PHP 7 berfungsi pada VPS Ubuntu anda, anda boleh membuat skrip ujian. Navigasi ke direktori akar dokumen pelayan web anda:
Cd /var/www/html/
Buat fail ujian:
Nano info.php
Masukkan kandungan berikut:
Simpan fail dan tutupnya. Perubahan hak:
Chown www-data: info.php
Kini anda boleh menggunakan alamat IP pelayan anda untuk mengakses fail. Buka pelayar web yang anda gunakan dan ikuti pautan:
Http://192.168.1.111/info.php
Alamat IP 192.168.1.111 digunakan untuk tujuan ujian, jadi pastikan anda menggunakan alamat IP pelayan anda. Anda seharusnya melihat halaman dengan maklumat PHP semasa seperti versi, pilihan kompilasi, sambungan, dsb.
PS. Jika anda menyukai siaran ini, sila kongsi dengan rakan anda di media sosial menggunakan butang di sebelah kiri siaran atau tinggalkan komen di bawah. Terima kasih terlebih dahulu.