Centos 7‘nin depolarında uzunca bir süredir PHP 7’yi göremiyoruz genelde desteklenmeyen 5.4 gibi sürümler ile geliyor sistemimiz
Bizde sistemimizde PHP 7 serisini nasıl kurabileceğinizi anlatan bir yazı yazalım dedik. Başlamadan önce root kullanıcı izinlerinizi aldığınıza emin olun.
PHP’yi sunan pek çok farklı 3. parti depo bulunuyor. Biz en güncellerini sunan remi adlı repoyu her zaman ki gibi sistemimize dahil ederek işe başlıyoruz.
sudo yum install epel-release yum-utils sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum genelde ilk paketleri eklerden GPG keyinide isteyebilir bu aşamada y tuşuna basarak GPG’yi sisteme dahil etmeyi unutmayın.
PHP 7.2 Sürümünün Yüklenmesi
Günümüzde pek çok popüler uygulama bu sürümde çalışmayı istemektedir. Örneğin: Wordpress, Drupal, Joomla vb
İlk olarak depoda bulunan PHP 7.2 sürümünü aktif ediyoruz.
sudo yum-config-manager --enable remi-php72
Depo etkinleştirildikten sonra PHP 7.2 ve en yaygın PHP modüllerini kurmaya başlayın
sudo yum install php php-common php-opcache php-redis php-mcrypt php-cli php-gd php-curl php-mysql
PHP sürümünü kontrol ederek kurulumu doğrulamayı unutmayın
php -v
Çıktımız ise
PHP 7.2.12 (cli) (built: Nov 12 2018 10:23:04) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.12, Copyright (c) 1999-2018, by Zend Technologies
PHP 7.1 Sürümünün Yüklenmesi
Sürüm olarak daha spesifik şeyler isteyen bir uygulama çalıştıracaksanız. Örneğin; prestashop, magento 2
İlk olarak depoda bulunan PHP 7.1 sürümünü aktif ediyoruz.
sudo yum-config-manager --enable remi-php71
Depo etkinleştirildikten sonra PHP 7.1 ve en yaygın PHP modüllerini kurmaya başlayın
sudo yum install php php-common php-opcache php-redis php-mcrypt php-cli php-gd php-curl php-mysql
Nginx ile çalışması için PHP 7.x’i yapılandıralım
Nginx PHP dosyalarını işlemek için destek sağlamamaktadır, bu yüzden PHP dosyalarını işleyebilecek olan PHP FPM gibi ayrı bir uygulama kurmamız gerekiyor.
sudo yum install php-fpm
Varsayılan olarak PHP FPM, 9000
numaralı bağlantı noktasında kullanıcı olarak apache ile çalışmaktadır. Kullanıcıyı nginx
olarak değiştirecek ve TCP soketinden Unix soketine geçeceğiz. Bunu yapmazsak NGINX kardeşimizde php çalıştıramayacağız.
Bu yüzden /etc/php-fpm.d/www.conf
içerisine aşağıdaki tanımlamaları yapıyoruz.
user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
Tabii hemen sonra /var/lib/php
dizinine nginx
yetkilerini veriyoruz.
chown -R root:nginx /var/lib/php
Değişiklikleri yaptıktan sonra, PHP FPM hizmetini etkinleştirin ve çalıştırın
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Ardından, Nginx vhost direktifini düzenleyin ve Nginx’in PHP dosyalarını işleyebilmesi için aşağıdaki satırları ekleyin eğer php 7.1 kullanıyorsanız fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
değeri fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
ile değiştirin.
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Yeni yapılandırmanın etkili olması için Nginx hizmetini yeniden başlatın
sudo systemctl restart nginx
Herhangi bir servis çalışıyorsa kazasız belasız etkili olmasını istersenizde aşağıdaki komutu uygulayın
nginx -s reload