CentOS 8 üzerine PHP Kurulumu
Bu makalemizde CentOS 8 üzerine PHP Kurulumunu anlatmaya çalışacağım.
PHP Nedir? Hypertext Preprocessor, internet için üretilmiş, sunucu taraflı, çok geniş kullanımlı, genel amaçlı, içerisine HTML gömülebilen betik ve programlama dilidir. İlk kez 1995 yılında Rasmus Lerdorf tarafından yaratılan PHP’nin geliştirilmesi bugün PHP topluluğu tarafından sürdürülmektedir.
Kuruluma geçmeden önce işletim sistemimizin tüm güncellemelerini yapalım.
|
1 |
yum -y update |
Güncellemelerimizi yaptık, şimdi PHP kurulumumuza geçebiliriz. Aşağıdaki komut ile birlikte kuruluma başlayalım.
Öncelik olarak EPEL Repository’i eklememiz gerekiyor
|
1 |
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm |
Şimdi Remi Repo sunu aşağıdaki komutla yükleyip etkinleştirelim.
|
1 |
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm |
Remi Repomuzu ekledikten sonra php modüllerini listeleyelim
|
1 |
sudo dnf module list php |
|
1 2 3 4 5 6 7 8 9 10 11 |
Last metadata expiration check: 0:01:22 ago on Tue 12 May 2020 10:08:16 AM +03. CentOS-8 - AppStream Name Stream Profiles Summary php 7.2 [d] common [d], devel, minimal PHP scripting language php 7.3 common, devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 [e] common [d], devel, minimal PHP scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled |
Modüller içerisinde default olarak php 7.2 görünecektir. Remi’s Modular Repository de ise diğer versiyonları görebiliyoruz, bu bölümde remi-7.4 ü etkinleştirmek için ise aşağıdaki komutu kullanıyoruz
|
1 |
sudo dnf module enable php:remi-7.4 |
Son olarak ise, aşağıdaki komutu kullanarak PHP, PHP-FPM (FastCGI Process Manager) ve ilişkili PHP modüllerini kuruyor olacağız.
|
1 |
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd |
Yükleme işlemi esnasında sizden onay isteyecektir “y” diyerek devam edebilirsiniz. İşlem tamamlandıktan sonra sisteminizde kurulu olan php versiyonunu görebilmeniz için aşağıdaki komutu kullanabilirsiniz.
|
1 |
php -v |
|
1 |
PHP 7.4.5 (cli) (built: Apr 14 2020 12:54:33) ( NTS )<br>Copyright (c) The PHP Group<br>Zend Engine v3.4.0, Copyright (c) Zend Technologies<br>with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies |
Artık sistemimize PHP 7.4.5 kurulumunu tamamladık, şimdi aşağıdaki komutla servisi etkinleştirip başlatalım
|
1 2 |
sudo systemctl start php-fpm sudo systemctl enable php-fpm |
Etkinleştirme işleminden sonra PHP nin durumunu görebilmeniz için aşağıdaki komutu kullanabilirsiniz.
|
1 |
sudo systemctl status php-fpm |
SELinux’a Apache’nin PHP kodunu PHP-FPM çalıştırması ve yürütmesine izin vermesi için aşağıdaki komutu giriyoruz.
|
1 |
setsebool -P httpd_execmem 1 |
Apache’yi yeniden başlatıyoruz.
|
1 |
sudo systemctl restart httpd |
PHP’yi web sunucusuyla test etmek için belge kök dizinine bir info.php dosyası oluşturmamız gerekiyor. Bunun için aşağıdaki komut ile ilgili dosyayı düzenliyoruz.
|
1 |
nano /var/www/html/info.php |
|
1 2 3 |
<?php phpinfo (); ?> |
http://sunucuipadresi/info.php ile tarayıcınızdan açıp PHP hakkındaki bilgilere ulaşabilirsiniz.
İşlemlerimiz Tamamlanmıştır.
Hocam iyi günler centos 8 serverde kurumlarınızı bire bir aynı yapıyorum fakat curl yi bir türlü çalıştıramadım.
Selamlar;
Öncelik olarak sudo dnf install curl Ardından httpd servisini restart et, Daha sonra php.ini dosyasından curl ile ilgili ; ile gizlenmiş olan satırı aktif hale getirip: ;extension=php_curl.dll Aşağıda örnek script ile, curl yüklemenizi test edebilirsiniz, curl yüklenmişse ekranda curl yüklü, yüklenmemişse curl yüklü değil yazacaktır.
Hocam cUrl phpinfo(); da enable görünüyor normal putty ile bağlandığımda çekebiliyorum verileri ama tarayıcıdan gelmiyor php.ini içerisinde ;extension=php_curl.dll yok.
dll dosyası olmadığı durumda curl başlatılamaz. Tekrar kurulum yapmayı deneyebilirsiniz.