Ubuntu 14.04 ve 14.10'da Apache veya Nginx için PHP 7 Nasıl Kurulur


PHP 7.0'ın kararlı sürümünün yayınlanmasından aylar sonra, bu, eski sürümlerden bu sürüme geçmeyi düşünmeniz için doğru zaman olabilir.

Özellikle üretim ortamında yükseltmeler konusunda her zaman dikkatli olunmalıdır, ancak hız iyileştirmelerinin ve ayrıca skaler tür ipucu gibi özelliklerin ve daha birçok özelliğin keyfini çıkarmak için şimdi yükseltme yapmak iyi bir fikirdir.

Sisteminize PHP'nin iki sürümünü yükleyebilir ve birini test amacıyla kullanabilirsiniz, ancak belirli bir zamanda yalnızca bir PHP Apache modülünü etkinleştirdiğinizi unutmayın.

Bu kılavuz, Apache Web sunucusu veya PHP-FPM ile bağlantılı olarak mod_php kullanarak PHP 5.X'ten yükseltmeye odaklanmaktadır. > Nginx Web sunucusuyla bağlantılı olarak.

  1. PHP 7'yi Ubuntu 14.04 ve 14.10'a yükleyin
  2. Apache Web Sunucusu altında PHP 7.0'a yükseltme
  3. Nginx Web Sunucusu altında PHP 7.0'a yükseltme

Şimdi PHP'nin en son sürümüne nasıl yükseltebileceğinizi ve sisteminizi onu kullanacak şekilde nasıl yapılandırabileceğinizi ele alalım.

Ubuntu 14.04 ve 14.10'da PHP 7 Nasıl Kurulur

İlk olarak, aşağıdaki komutu çalıştırarak Debian ve Ubuntu gibi türevleri için Ondřej Surý tarafından sağlanan PPA'yı eklemeniz gerekecektir:

sudo add-apt-repository ppa:ondrej/php

Daha sonra sisteminizi aşağıdaki şekilde güncelleyin:

sudo apt-get update

Artık her şey ayarlandı ve PHP 7.0'ı yükleyebilirsiniz, ancak farklı bölümlerde Apache ve Nginx yükseltmesine bakacağız.

Apache Web Sunucusu altında PHP 7.0'a yükseltme

Bu bölüm, PHP kodunun mod_php modülü kullanılarak yürütüldüğü Apache çalıştıran sistemler içindir. Aşağıdaki komutu çalıştırarak en son PHP sürümünü yükleyin:

sudo apt-get install php7.0
Örnek Çıktı

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libapache2-mod-php7.0 libssl1.0.2 php-common php7.0-cli php7.0-common
  php7.0-json php7.0-opcache php7.0-readline
Suggested packages:
  php-pear
The following NEW packages will be installed:
  libapache2-mod-php7.0 libssl1.0.2 php-common php7.0 php7.0-cli php7.0-common
  php7.0-json php7.0-opcache php7.0-readline
0 upgraded, 9 newly installed, 0 to remove and 80 not upgraded.
Need to get 4,371 kB of archives.
After this operation, 17.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

PHP artık sisteminizde yükseltildi, ancak MySQL veritabanı yönetim sistemi kullanıyorsanız, PHP-MySQL bağlamasını güncellemek için aşağıdaki komutu uygulamanız gerekecektir ve ayrıca Curl, GD, Cli, JSON vb. gibi bazı yararlı modülleri de yüklemeniz gerekecektir.

sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json 

Ek PHP7.0 modülleri yüklemek istiyorsanız apt-cache komutunu kullanarak tüm PHP7.0 modüllerini listeleyebilir ve kurabilirsiniz.

sudo apt-cache search php7
Örnek Çıktı

php-radius - radius client library for PHP
php-http - PECL HTTP module for PHP Extended HTTP Support
php-uploadprogress - file upload progress tracking extension for PHP
php-mongodb - MongoDB driver for PHP
php7.0-common - documentation, examples and common module for PHP
libapache2-mod-php7.0 - server-side, HTML-embedded scripting language (Apache 2 module)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
libphp7.0-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.0-dev - Files for PHP7.0 module development
php7.0-curl - CURL module for PHP
php7.0-enchant - Enchant module for PHP
php7.0-gd - GD module for PHP
php7.0-gmp - GMP module for PHP
php7.0-imap - IMAP module for PHP
php7.0-interbase - Interbase module for PHP
php7.0-intl - Internationalisation module for PHP
php7.0-ldap - LDAP module for PHP
php7.0-mcrypt - libmcrypt module for PHP
php7.0-readline - readline module for PHP
php7.0-odbc - ODBC module for PHP
php7.0-pgsql - PostgreSQL module for PHP
php7.0-pspell - pspell module for PHP
php7.0-recode - recode module for PHP
php7.0-snmp - SNMP module for PHP
php7.0-tidy - tidy module for PHP
php7.0-xmlrpc - XMLRPC-EPI module for PHP
php7.0-xsl - XSL module for PHP (dummy)
php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-json - JSON module for PHP
php-all-dev - package depending on all supported PHP development packages
php7.0-sybase - Sybase module for PHP
php7.0-sqlite3 - SQLite3 module for PHP
php7.0-mysql - MySQL module for PHP
php7.0-opcache - Zend OpCache module for PHP
php-apcu - APC User Cache for PHP
php-xdebug - Xdebug Module for PHP
php-imagick - Provides a wrapper to the ImageMagick library
php-ssh2 - Bindings for the libssh2 library
php-redis - PHP extension for interfacing with Redis
php-memcached - memcached extension module for PHP, uses libmemcached
php-apcu-bc - APCu Backwards Compatibility Module
php-amqp - AMQP extension for PHP
php7.0-bz2 - bzip2 module for PHP
php-rrd - PHP bindings to rrd tool system
php-uuid - PHP UUID extension
php-memcache - memcache extension module for PHP
php-gmagick - Provides a wrapper to the GraphicsMagick library
php-smbclient - PHP wrapper for libsmbclient
php-zmq - ZeroMQ messaging bindings for PHP
php-igbinary - igbinary PHP serializer
php-msgpack - PHP extension for interfacing with MessagePack
php-geoip - GeoIP module for PHP
php7.0-bcmath - Bcmath module for PHP
php7.0-mbstring - MBSTRING module for PHP
php7.0-soap - SOAP module for PHP
php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.0-zip - Zip module for PHP
php-tideways - Tideways PHP Profiler Extension
php-yac - YAC (Yet Another Cache) for PHP
php-mailparse - Email message manipulation for PHP
php-oauth - OAuth 1.0 consumer and provider extension
php-propro - propro module for PHP
php-raphf - raphf module for PHP
php-solr - PHP extension for communicating with Apache Solr server
php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP
php-gearman - PHP wrapper to libgearman
php7.0-dba - DBA module for PHP

PHP7.0 ve modülleri kurulduktan sonra Apache web sunucunuzu yeniden başlatabilir ve gösterildiği gibi PHP sürümünü doğrulayabilirsiniz:

sudo service apache2 restart
php -v
Örnek Çıktı

PHP 7.0.7-1+donate.sury.org~trusty+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Ayrıca /var/www/html dizini altında bir info.php dosyası oluşturarak PHP7 bilgilerini doğrulayabilirsiniz.


sudo vi /var/www/html/info.php

Aşağıdaki kodu yerleştirin ve sayfaya http://server_IP-address/info.php üzerinden erişin.


<?php
phpinfo();
?>

Nginx Web Sunucusu altında PHP 7.0'a yükseltme

Bu bölüm size PHP7.0'e yükseltme ve PHP-FPM'yi Nginx Web sunucusuyla güncelleme süreci boyunca rehberlik eder; burada PHP kodu PHP-FPM kullanılarak yürütülür. .

En son PHP-FPM paketlerini yüklemek için aşağıdaki komutu çalıştırın:

sudo apt-get install php7.0
sudo apt-get install php7.0-fpm

PHP artık yükseltildi, ancak MySQL kullanıyorsanız, PHP-MySQL bağlamasını ve bazı ek modülleri gösterildiği gibi güncellemek için aşağıdaki komutu uygulamanız gerekecektir:

sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json 

Daha sonra, /etc/nginx/sites-enabled/default dosyasına veya PHP kullanması ve desteklemesi gereken sanal sitelerinizin tüm dosyalarına fastcgi_pass yönergesini eklemeniz gerekir. PHP'nin Nginx ile iletişim kurmak için kullandığı PHP-FPM soket dosyasının yolu değiştiği için.

Favori düzenleyicinizi kullanın ve dosyayı düzenlemek için aşağıdaki şekilde açın:


sudo vi /etc/nginx/sites-enabled/default 

Aşağıdaki şekilde değiştirin veya ekleyin:


location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
                return 404;
        }
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
}

Ardından Nginx'i ve php-fpm'yi aşağıdaki şekilde yeniden başlatın:


sudo service nginx restart
sudo service php7.0-fpm restart

Son olarak, önce PHP sürümünüzü kontrol edip ardından Web sunucusuyla test ederek PHP'nin çalışıp çalışmadığını test edebilirsiniz.

php -v

/usr/share/nginx/html/ dizini altına küçük bir info.php dosyası yazarak PHP paketleriniz hakkında bilgi alabilirsiniz:

sudo vi /usr/share/nginx/html/info.php 

Bu kodu info.php dosyanıza koyun:

<?php
phpinfo();
?>

Dosyayı kaydedip çıkın.

Web tarayıcınızı açın, http://server_IP-address/info.php adresini girin; aşağıda PHP paketinizle ilgili ayrıntıları gösteren sayfayı görebilmeniz gerekir.

Artık PHP 7.0Ubuntu 14.04/14.10 sisteminizde memnuniyetle kullanabilirsiniz ve umarım bu kılavuzu faydalı bulursunuz.

PHP'yi yükseltmeye ilişkin ek bilgi veya sorularınız için aşağıdaki yorum bölümüne yorumlarınızı bekliyoruz.