{"id":31737,"date":"2025-10-13T11:41:18","date_gmt":"2025-10-13T08:41:18","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31737"},"modified":"2025-10-13T11:41:18","modified_gmt":"2025-10-13T08:41:18","slug":"centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/","title":{"rendered":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma"},"content":{"rendered":"<p><body><\/p>\n<h2>CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Modern web geli\u015ftirme d\u00fcnyas\u0131nda, farkl\u0131 projelerin farkl\u0131 PHP s\u00fcr\u00fcmlerine ihtiya\u00e7 duymas\u0131 s\u0131k kar\u015f\u0131la\u015f\u0131lan bir durumdur. Bir web sunucusu \u00fczerinde eski bir PHP s\u00fcr\u00fcm\u00fcyle \u00e7al\u0131\u015fan bir uygulama bulunurken, ayn\u0131 sunucuda geli\u015ftirilen yeni bir projenin en g\u00fcncel PHP s\u00fcr\u00fcm\u00fcn\u00fc gerektirmesi veya farkl\u0131 PHP versiyonlar\u0131nda testler yapma ihtiyac\u0131 do\u011fabilir. Bu durum, sunucu y\u00f6neticileri ve geli\u015ftiriciler i\u00e7in \u00f6nemli bir zorluk te\u015fkil eder. Geleneksel olarak, tek bir sunucuda birden fazla PHP s\u00fcr\u00fcm\u00fcn\u00fc sorunsuz bir \u015fekilde \u00e7al\u0131\u015ft\u0131rmak karma\u015f\u0131k konfig\u00fcrasyonlar ve potansiyel \u00e7ak\u0131\u015fmalar anlam\u0131na gelebilirdi. Ancak, Apache HTTP Sunucusu ve PHP-FPM (FastCGI Process Manager) kombinasyonu sayesinde bu sorun, izole edilmi\u015f ve y\u00f6netilebilir bir \u015fekilde \u00e7\u00f6z\u00fclebilir.<\/p>\n<p>Bu makalede, CentOS 8 i\u015fletim sistemi \u00fczerinde Apache ve PHP-FPM kullanarak tek bir sunucuda birden fazla PHP s\u00fcr\u00fcm\u00fcn\u00fc nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m detayl\u0131 bir \u015fekilde a\u00e7\u0131klayaca\u011f\u0131z. Bu kurulum, her web sitesinin veya uygulaman\u0131n kendi PHP s\u00fcr\u00fcm\u00fcn\u00fc kullanmas\u0131na olanak tan\u0131yarak hem esneklik hem de istikrar sa\u011flar. Makale boyunca, gerekli bile\u015fenlerin kurulumundan sanal host konfig\u00fcrasyonlar\u0131na, s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlar\u0131n giderilmesinden en iyi uygulamalara kadar geni\u015f bir yelpazede bilgi sunulacakt\u0131r. Amac\u0131m\u0131z, CentOS 8 \u00fczerinde \u00e7oklu PHP ortam\u0131 kurmak isteyen sistem y\u00f6neticileri ve geli\u015ftiriciler i\u00e7in kapsaml\u0131 ve anla\u015f\u0131l\u0131r bir rehber sunmakt\u0131r.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n yerine getirildi\u011finden emin olun:<\/p>\n<ul>\n<li>CentOS 8 veya Stream kurulu, g\u00fcncel bir sunucu.<\/li>\n<li>Root eri\u015fimi veya sudo yetkilerine sahip bir kullan\u0131c\u0131.<\/li>\n<li>Temel Linux komut sat\u0131r\u0131 bilgisi.<\/li>\n<li>Apache HTTP Sunucusu (<code>httpd<\/code>) kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmal\u0131d\u0131r.<\/li>\n<li>Sunucunun g\u00fcvenlik duvar\u0131nda (firewall) HTTP (80) ve HTTPS (443) portlar\u0131 a\u00e7\u0131k olmal\u0131d\u0131r.<\/li>\n<\/ul>\n<p>Bu \u00f6n ko\u015fullar sa\u011fland\u0131\u011f\u0131nda, \u00e7oklu PHP kurulumuna g\u00fcvenle ba\u015flayabiliriz.<\/p>\n<h3>Bile\u015fenleri Anlamak: Apache, PHP-FPM ve mod_proxy_fcgi<\/h3>\n<p>\u00c7oklu PHP s\u00fcr\u00fcm\u00fc ortam\u0131n\u0131 kurarken kulland\u0131\u011f\u0131m\u0131z ana bile\u015fenleri ve bunlar\u0131n rollerini anlamak, yap\u0131land\u0131rma s\u00fcrecini daha iyi kavramam\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h4>Apache HTTP Sunucusu<\/h4>\n<p>Apache, internetin en yayg\u0131n kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 web sunucular\u0131ndan biridir. Gelen HTTP isteklerini kar\u015f\u0131lar, web sayfalar\u0131n\u0131 ve dosyalar\u0131 kullan\u0131c\u0131lara sunar. PHP ile \u00e7al\u0131\u015f\u0131rken, Apache gelen PHP isteklerini i\u015flemek i\u00e7in harici bir PHP yorumlay\u0131c\u0131s\u0131na ihtiya\u00e7 duyar. Geleneksel olarak <code>mod_php<\/code> mod\u00fcl\u00fc kullan\u0131l\u0131rd\u0131, ancak bu mod\u00fcl, ayn\u0131 anda birden fazla PHP s\u00fcr\u00fcm\u00fcn\u00fc \u00e7al\u0131\u015ft\u0131rmak i\u00e7in uygun de\u011fildir ve performans sorunlar\u0131na yol a\u00e7abilir. Bu nedenle, PHP-FPM ile birlikte Apache kullanmak daha modern ve esnek bir yakla\u015f\u0131md\u0131r.<\/p>\n<h4>PHP-FPM (FastCGI Process Manager)<\/h4>\n<p>PHP-FPM, PHP yorumlay\u0131c\u0131s\u0131 i\u00e7in bir FastCGI uygulamas\u0131d\u0131r. FastCGI, web sunucusu ile harici programlar (bu durumda PHP) aras\u0131nda ileti\u015fimi sa\u011flayan bir protokold\u00fcr. PHP-FPM, her PHP s\u00fcr\u00fcm\u00fc i\u00e7in ayr\u0131 ayr\u0131 \u00e7al\u0131\u015ft\u0131r\u0131labilen ve kendi konfig\u00fcrasyonuna sahip olabilen &#8220;havuzlar&#8221; (pools) olu\u015fturur. Her havuz, belirli bir PHP s\u00fcr\u00fcm\u00fcn\u00fc ve onun ayarlar\u0131n\u0131 kullanarak PHP betiklerini i\u015flemek i\u00e7in bir grup PHP i\u015flemcisini y\u00f6netir. Bu sayede, farkl\u0131 web siteleri veya uygulamalar, farkl\u0131 PHP-FPM havuzlar\u0131na y\u00f6nlendirilerek kendi PHP s\u00fcr\u00fcmlerini ve ayarlar\u0131n\u0131 kullanabilirler. PHP-FPM, performans\u0131 art\u0131r\u0131r, kaynak y\u00f6netimini kolayla\u015ft\u0131r\u0131r ve s\u00fcre\u00e7 izolasyonu sa\u011flar.<\/p>\n<h4>mod_proxy_fcgi<\/h4>\n<p><code>mod_proxy_fcgi<\/code>, Apache&#8217;nin bir mod\u00fcl\u00fcd\u00fcr ve FastCGI protokol\u00fc \u00fczerinden gelen PHP isteklerini PHP-FPM&#8217;e iletmek i\u00e7in kullan\u0131l\u0131r. Bu mod\u00fcl, Apache&#8217;nin bir proxy g\u00f6revi g\u00f6rmesini sa\u011flar; yani gelen bir PHP iste\u011fini do\u011frudan kendisi i\u015flemez, bunun yerine iste\u011fi belirli bir PHP-FPM havuzuna (genellikle bir Unix soketi veya TCP portu \u00fczerinden) y\u00f6nlendirir. Bu, Apache&#8217;nin PHP yorumlama y\u00fck\u00fcnden kurtulmas\u0131n\u0131 ve sadece istekleri do\u011fru PHP-FPM servisine y\u00f6nlendirme i\u015fini yapmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bu \u00fc\u00e7 bile\u015fen bir araya geldi\u011finde, Apache gelen web isteklerini al\u0131r, PHP betiklerini i\u00e7eren istekleri <code>mod_proxy_fcgi<\/code> arac\u0131l\u0131\u011f\u0131yla uygun PHP-FPM havuzuna y\u00f6nlendirir ve PHP-FPM havuzu da beti\u011fi ilgili PHP s\u00fcr\u00fcm\u00fcyle i\u015fleyip sonucu Apache&#8217;ye geri g\u00f6nderir.<\/p>\n<h3>\u0130lk Kurulum: Apache ve Temel PHP<\/h3>\n<p>\u00c7oklu PHP ortam\u0131n\u0131 kurmaya ba\u015flamadan \u00f6nce, Apache web sunucusunu kurup temel bir PHP s\u00fcr\u00fcm\u00fcn\u00fc ayarlayal\u0131m. E\u011fer sunucunuzda Apache zaten kuruluysa bu ad\u0131m\u0131 atlayabilirsiniz.<\/p>\n<h4>Apache HTTP Sunucusunu Kurma<\/h4>\n<p>CentOS 8 \u00fczerinde Apache&#8217;yi kurmak olduk\u00e7a basittir:<\/p>\n<pre><code>sudo dnf install httpd -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra Apache servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirin:<\/p>\n<pre><code>sudo systemctl start httpd\nsudo systemctl enable httpd<\/code><\/pre>\n<p>G\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131z\u0131 kontrol edin ve HTTP (80) ile HTTPS (443) portlar\u0131n\u0131n a\u00e7\u0131k oldu\u011fundan emin olun:<\/p>\n<pre><code>sudo firewall-cmd --permanent --add-service=http\nsudo firewall-cmd --permanent --add-service=https\nsudo firewall-cmd --reload<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresine veya alan ad\u0131na giderek Apache&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulayabilirsiniz. &#8220;CentOS Linux Test Page&#8221; g\u00f6rmelisiniz.<\/p>\n<h4>Varsay\u0131lan PHP S\u00fcr\u00fcm\u00fcn\u00fc Kurma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>Bu ad\u0131m, \u00e7oklu PHP kurulumu i\u00e7in zorunlu de\u011fildir ancak genel bir PHP-FPM kurulumunun nas\u0131l yap\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6stermek a\u00e7\u0131s\u0131ndan faydal\u0131d\u0131r. CentOS 8&#8217;in AppStream deposu, varsay\u0131lan olarak birka\u00e7 PHP s\u00fcr\u00fcm\u00fc sunar. \u00d6rne\u011fin, PHP 7.2, 7.3, 7.4.<br \/>\nMevcut PHP mod\u00fcllerini listeleyin:<\/p>\n<pre><code>sudo dnf module list php<\/code><\/pre>\n<p>\u00d6rne\u011fin, PHP 7.4&#8217;\u00fc etkinle\u015ftirelim:<\/p>\n<pre><code>sudo dnf module enable php:7.4 -y<\/code><\/pre>\n<p>PHP-FPM ve baz\u0131 yayg\u0131n eklentileri kural\u0131m:<\/p>\n<pre><code>sudo dnf install php-fpm php-cli php-mysqlnd php-gd php-opcache php-xml php-mbstring -y<\/code><\/pre>\n<p>PHP-FPM servisini ba\u015flat\u0131n ve etkinle\u015ftirin:<\/p>\n<pre><code>sudo systemctl start php-fpm\nsudo systemctl enable php-fpm<\/code><\/pre>\n<p>\u015eimdi, Apache&#8217;nin bu PHP-FPM servisiyle nas\u0131l konu\u015faca\u011f\u0131n\u0131 yap\u0131land\u0131rmam\u0131z gerekiyor. Apache&#8217;nin <code>mod_proxy_fcgi<\/code> mod\u00fcl\u00fc varsay\u0131lan olarak y\u00fckl\u00fc olmal\u0131d\u0131r. Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 (<code>\/etc\/httpd\/conf\/httpd.conf<\/code>) veya <code>\/etc\/httpd\/conf.d\/<\/code> alt\u0131ndaki bir dosya i\u00e7inde PHP betiklerini FastCGI arac\u0131l\u0131\u011f\u0131yla i\u015flemeye y\u00f6nelik bir kural eklememiz gerekir.<\/p>\n<p>\u00d6rne\u011fin, <code>\/etc\/httpd\/conf.d\/php.conf<\/code> ad\u0131nda yeni bir dosya olu\u015fturabiliriz (e\u011fer yoksa):<\/p>\n<pre><code>sudo nano \/etc\/httpd\/conf.d\/php.conf<\/code><\/pre>\n<p>\u0130\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin:<\/p>\n<pre><code><FilesMatch \\.php$>\n    SetHandler \"proxy:unix:\/run\/php-fpm\/www.sock|fcgi:\/\/localhost\"\n<\/FilesMatch><\/code><\/pre>\n<p>Bu konfig\u00fcrasyon, <code>.php<\/code> uzant\u0131l\u0131 t\u00fcm dosyalar\u0131n iste\u011fini <code>\/run\/php-fpm\/www.sock<\/code> Unix soketi \u00fczerinden \u00e7al\u0131\u015fan PHP-FPM servisine y\u00f6nlendirir. Bu soket, varsay\u0131lan PHP-FPM kurulumu taraf\u0131ndan kullan\u0131l\u0131r.<br \/>\nDe\u011fi\u015fiklikleri kaydettikten sonra Apache&#8217;yi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code>sudo systemctl restart httpd<\/code><\/pre>\n<p>\u015eimdi <code>\/var\/www\/html\/info.php<\/code> ad\u0131nda bir dosya olu\u015fturarak PHP&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test edebilirsiniz:<\/p>\n<pre><code>sudo nano \/var\/www\/html\/info.php<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi:<\/p>\n<pre><code><?php\nphpinfo();\n?><\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zdan <code>http:\/\/sunucu_ipadresi\/info.php<\/code> adresine gitti\u011finizde PHP bilgilerini g\u00f6rmelisiniz. Bu, temel PHP-FPM kurulumunun ba\u015far\u0131l\u0131 oldu\u011funu g\u00f6sterir.<\/p>\n<h3>Remi Deposunu Kullanarak Birden Fazla PHP S\u00fcr\u00fcm\u00fc Kurulumu<\/h3>\n<p>CentOS 8&#8217;in varsay\u0131lan depolar\u0131 belirli PHP s\u00fcr\u00fcmlerini sunsa da, Remi deposu daha geni\u015f bir yelpazede, g\u00fcncel ve iyi bak\u0131lan PHP s\u00fcr\u00fcmlerini ve eklentilerini sunar. Bu, farkl\u0131 PHP versiyonlar\u0131n\u0131 ayn\u0131 sunucuda \u00e7al\u0131\u015ft\u0131rmak i\u00e7in en iyi yakla\u015f\u0131md\u0131r.<\/p>\n<h4>Remi Deposunu Eklemek<\/h4>\n<p>\u00d6ncelikle EPEL (Extra Packages for Enterprise Linux) deposunu kurman\u0131z gerekebilir, \u00e7\u00fcnk\u00fc Remi deposu EPEL&#8217;e ba\u011f\u0131ml\u0131d\u0131r:<\/p>\n<pre><code>sudo dnf install epel-release -y<\/code><\/pre>\n<p>\u015eimdi Remi deposunu kurun:<\/p>\n<pre><code>sudo dnf install https:\/\/rpms.remirepo.net\/enterprise\/remi-release-8.rpm -y<\/code><\/pre>\n<p>Depolar\u0131 g\u00fcncelleyin:<\/p>\n<pre><code>sudo dnf update -y<\/code><\/pre>\n<h4>Mevcut PHP Mod\u00fcllerini Y\u00f6netmek<\/h4>\n<p>Remi deposunu etkinle\u015ftirdikten sonra, <code>dnf module<\/code> komutu ile Remi&#8217;den gelen PHP s\u00fcr\u00fcmlerini g\u00f6rebilirsiniz. E\u011fer daha \u00f6nce AppStream&#8217;den bir PHP mod\u00fcl\u00fc etkinle\u015ftirdiyseniz (yukar\u0131daki &#8220;Varsay\u0131lan PHP S\u00fcr\u00fcm\u00fcn\u00fc Kurma&#8221; ad\u0131m\u0131 gibi), bunu s\u0131f\u0131rlaman\u0131z \u00f6nerilir, b\u00f6ylece Remi&#8217;den istedi\u011finiz s\u00fcr\u00fcmleri se\u00e7ebilirsiniz:<\/p>\n<pre><code>sudo dnf module reset php -y<\/code><\/pre>\n<p>\u015eimdi Remi&#8217;den gelen t\u00fcm PHP mod\u00fcllerini listeleyelim:<\/p>\n<pre><code>sudo dnf module list php<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131, Remi deposundan gelen PHP 7.4, 8.0, 8.1, 8.2, 8.3 gibi farkl\u0131 s\u00fcr\u00fcmleri g\u00f6sterecektir.<\/p>\n<h4>Birden Fazla PHP S\u00fcr\u00fcm\u00fc Kurma<\/h4>\n<p>Her bir PHP s\u00fcr\u00fcm\u00fcn\u00fc ayr\u0131 ayr\u0131 kuraca\u011f\u0131z. Remi deposundaki paket adland\u0131rma konvansiyonu, her PHP s\u00fcr\u00fcm\u00fc i\u00e7in benzersiz paket adlar\u0131 kullan\u0131r (\u00f6rn. <code>php80-php-fpm<\/code>, <code>php81-php-fpm<\/code>). Bu, ayn\u0131 anda birden fazla s\u00fcr\u00fcm\u00fc kurmay\u0131 m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<p>\u00d6rne\u011fin, PHP 8.0, PHP 8.1 ve PHP 8.2&#8217;yi kural\u0131m:<\/p>\n<h5>PHP 8.0 Kurulumu<\/h5>\n<pre><code>sudo dnf install php80-php-fpm php80-php-cli php80-php-mysqlnd php80-php-gd php80-php-opcache php80-php-xml php80-php-mbstring -y<\/code><\/pre>\n<p>PHP 8.0 FPM servisini ba\u015flat\u0131n ve etkinle\u015ftirin:<\/p>\n<pre><code>sudo systemctl start php80-php-fpm\nsudo systemctl enable php80-php-fpm<\/code><\/pre>\n<h5>PHP 8.1 Kurulumu<\/h5>\n<pre><code>sudo dnf install php81-php-fpm php81-php-cli php81-php-mysqlnd php81-php-gd php81-php-opcache php81-php-xml php81-php-mbstring -y<\/code><\/pre>\n<p>PHP 8.1 FPM servisini ba\u015flat\u0131n ve etkinle\u015ftirin:<\/p>\n<pre><code>sudo systemctl start php81-php-fpm\nsudo systemctl enable php81-php-fpm<\/code><\/pre>\n<h5>PHP 8.2 Kurulumu<\/h5>\n<pre><code>sudo dnf install php82-php-fpm php82-php-cli php82-php-mysqlnd php82-php-gd php82-php-opcache php82-php-xml php82-php-mbstring -y<\/code><\/pre>\n<p>PHP 8.2 FPM servisini ba\u015flat\u0131n ve etkinle\u015ftirin:<\/p>\n<pre><code>sudo systemctl start php82-php-fpm\nsudo systemctl enable php82-php-fpm<\/code><\/pre>\n<p>Art\u0131k sunucunuzda PHP 8.0, 8.1 ve 8.2 i\u00e7in ayr\u0131 ayr\u0131 \u00e7al\u0131\u015fan PHP-FPM servisleri bulunmaktad\u0131r. Her bir servis, kendi <code>php.ini<\/code> dosyas\u0131na (\u00f6rn. <code>\/etc\/opt\/remi\/php80\/php.ini<\/code>) ve kendi FPM havuz konfig\u00fcrasyonuna sahiptir.<\/p>\n<h3>PHP-FPM Havuzlar\u0131n\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Her PHP-FPM servisi, bir veya daha fazla havuz (pool) \u00e7al\u0131\u015ft\u0131rabilir. Remi taraf\u0131ndan kurulan her PHP s\u00fcr\u00fcm\u00fc i\u00e7in genellikle <code>www.conf<\/code> ad\u0131nda varsay\u0131lan bir havuz konfig\u00fcrasyonu bulunur. Bu konfig\u00fcrasyon dosyalar\u0131, her PHP s\u00fcr\u00fcm\u00fc i\u00e7in ayr\u0131 dizinlerde yer al\u0131r:<\/p>\n<ul>\n<li>PHP 8.0: <code>\/etc\/opt\/remi\/php80\/php-fpm.d\/www.conf<\/code><\/li>\n<li>PHP 8.1: <code>\/etc\/opt\/remi\/php81\/php-fpm.d\/www.conf<\/code><\/li>\n<li>PHP 8.2: <code>\/etc\/opt\/remi\/php82\/php-fpm.d\/www.conf<\/code><\/li>\n<\/ul>\n<p>Bu dosyalardaki en \u00f6nemli ayar, PHP-FPM havuzunun hangi soket \u00fczerinden dinleyece\u011fini belirten <code>listen<\/code> direktifidir. Remi paketleri, her s\u00fcr\u00fcm i\u00e7in benzersiz bir Unix soket yolu kullanacak \u015fekilde \u00f6nceden yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r, bu da \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>PHP 8.0 i\u00e7in: <code>listen = \/run\/php-fpm\/php80-fpm.sock<\/code><\/li>\n<li>PHP 8.1 i\u00e7in: <code>listen = \/run\/php-fpm\/php81-fpm.sock<\/code><\/li>\n<li>PHP 8.2 i\u00e7in: <code>listen = \/run\/php-fpm\/php82-fpm.sock<\/code><\/li>\n<\/ul>\n<p>Bu soket yollar\u0131, Apache&#8217;nin <code>mod_proxy_fcgi<\/code> mod\u00fcl\u00fc taraf\u0131ndan PHP isteklerini do\u011fru PHP-FPM servisine y\u00f6nlendirmek i\u00e7in kullan\u0131lacakt\u0131r.<\/p>\n<p>Di\u011fer \u00f6nemli ayarlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>user<\/code> ve <code>group<\/code>: PHP-FPM i\u015flemlerinin hangi kullan\u0131c\u0131 ve grup alt\u0131nda \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirler. Genellikle <code>apache<\/code> veya <code>nginx<\/code> olarak ayarlan\u0131r, b\u00f6ylece web sunucusu ile dosya izinleri konusunda sorun ya\u015fanmaz. Remi paketleri bunu genellikle <code>apache<\/code> olarak ayarlar.<\/li>\n<li><code>pm<\/code> (process manager): \u0130\u015flem y\u00f6neticisi t\u00fcr\u00fcn\u00fc belirler (\u00f6rn. <code>ondemand<\/code>, <code>dynamic<\/code>, <code>static<\/code>). <code>dynamic<\/code> veya <code>ondemand<\/code> genellikle \u00e7o\u011fu senaryo i\u00e7in iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/li>\n<li><code>pm.max_children<\/code>, <code>pm.start_servers<\/code>, <code>pm.min_spare_servers<\/code>, <code>pm.max_spare_servers<\/code>: PHP-FPM havuzundaki i\u015flem say\u0131s\u0131n\u0131 y\u00f6netir. Bu ayarlar sunucunuzun kaynaklar\u0131na (RAM, CPU) ve beklenen y\u00fcke g\u00f6re optimize edilmelidir.<\/li>\n<\/ul>\n<p>Varsay\u0131lan Remi konfig\u00fcrasyonlar\u0131 genellikle iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r, ancak \u00fcretim ortamlar\u0131 i\u00e7in bu ayarlar\u0131 dikkatlice g\u00f6zden ge\u00e7irmeniz ve gerekti\u011finde optimize etmeniz \u00f6nemlidir. Unix soketleri, yerel ileti\u015fim i\u00e7in TCP portlar\u0131na g\u00f6re genellikle daha h\u0131zl\u0131 ve g\u00fcvenlidir.<\/p>\n<h3>Apache Sanal Hostlar\u0131 i\u00e7in \u00c7oklu PHP S\u00fcr\u00fcm\u00fc Yap\u0131land\u0131rma<\/h3>\n<p>\u015eimdi Apache&#8217;yi, her bir web sitesi veya sanal host i\u00e7in belirli bir PHP-FPM servisini kullanacak \u015fekilde yap\u0131land\u0131rmam\u0131z gerekiyor. Her sanal host i\u00e7in ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<h4>Sanal Host Konfig\u00fcrasyon Dizini Olu\u015fturma<\/h4>\n<p>Apache sanal host konfig\u00fcrasyonlar\u0131n\u0131 d\u00fczenli tutmak i\u00e7in <code>\/etc\/httpd\/conf.d\/vhosts\/<\/code> gibi \u00f6zel bir dizin olu\u015fturabiliriz.<\/p>\n<pre><code>sudo mkdir -p \/etc\/httpd\/conf.d\/vhosts\/<\/code><\/pre>\n<p>Ard\u0131ndan, Apache&#8217;nin bu dizindeki t\u00fcm <code>.conf<\/code> dosyalar\u0131n\u0131 okumas\u0131n\u0131 sa\u011flamak i\u00e7in <code>\/etc\/httpd\/conf\/httpd.conf<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin (genellikle dosyan\u0131n sonuna):<\/p>\n<pre><code>IncludeOptional conf.d\/vhosts\/*.conf<\/code><\/pre>\n<p>Bu, <code>\/etc\/httpd\/conf.d\/vhosts\/<\/code> dizinindeki t\u00fcm <code>.conf<\/code> uzant\u0131l\u0131 dosyalar\u0131n otomatik olarak Apache taraf\u0131ndan y\u00fcklenmesini sa\u011flar.<\/p>\n<h4>Her Alan Ad\u0131 i\u00e7in Sanal Host Olu\u015fturma<\/h4>\n<p>Her bir alan ad\u0131 i\u00e7in ayr\u0131 bir sanal host konfig\u00fcrasyon dosyas\u0131 ve belge k\u00f6k\u00fc (document root) olu\u015fturaca\u011f\u0131z.<\/p>\n<h5>\u00d6rnek 1: domain1.com (PHP 8.0 kullanacak)<\/h5>\n<p>\u00d6ncelikle <code>domain1.com<\/code> i\u00e7in belge k\u00f6k\u00fcn\u00fc olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo mkdir -p \/var\/www\/domain1.com\/public_html\nsudo chown -R apache:apache \/var\/www\/domain1.com\nsudo chmod -R 755 \/var\/www\/domain1.com<\/code><\/pre>\n<p>\u015eimdi sanal host konfig\u00fcrasyon dosyas\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo nano \/etc\/httpd\/conf.d\/vhosts\/domain1.com.conf<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olacak:<\/p>\n<pre><code><VirtualHost *:80>\n    ServerName domain1.com\n    ServerAlias www.domain1.com\n    DocumentRoot \/var\/www\/domain1.com\/public_html\n\n    <Directory \/var\/www\/domain1.com\/public_html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n\n    # PHP 8.0 i\u00e7in PHP isteklerini y\u00f6nlendir\n    <FilesMatch \\.php$>\n        SetHandler \"proxy:unix:\/run\/php-fpm\/php80-fpm.sock|fcgi:\/\/localhost\"\n    <\/FilesMatch>\n\n    ErrorLog \/var\/log\/httpd\/domain1.com_error.log\n    CustomLog \/var\/log\/httpd\/domain1.com_access.log combined\n<\/VirtualHost><\/code><\/pre>\n<p>Bu konfig\u00fcrasyonda dikkat edilmesi gereken en \u00f6nemli sat\u0131r <code>SetHandler<\/code> direktifidir. Bu direktif, <code>.php<\/code> uzant\u0131l\u0131 t\u00fcm dosyalar\u0131n iste\u011fini belirtilen Unix soketi (<code>\/run\/php-fpm\/php80-fpm.sock<\/code>) \u00fczerinden \u00e7al\u0131\u015fan PHP 8.0 FPM servisine y\u00f6nlendirir.<\/p>\n<h5>\u00d6rnek 2: domain2.com (PHP 8.1 kullanacak)<\/h5>\n<p><code>domain2.com<\/code> i\u00e7in belge k\u00f6k\u00fcn\u00fc olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo mkdir -p \/var\/www\/domain2.com\/public_html\nsudo chown -R apache:apache \/var\/www\/domain2.com\nsudo chmod -R 755 \/var\/www\/domain2.com<\/code><\/pre>\n<p>Sanal host konfig\u00fcrasyon dosyas\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo nano \/etc\/httpd\/conf.d\/vhosts\/domain2.com.conf<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olacak:<\/p>\n<pre><code><VirtualHost *:80>\n    ServerName domain2.com\n    ServerAlias www.domain2.com\n    DocumentRoot \/var\/www\/domain2.com\/public_html\n\n    <Directory \/var\/www\/domain2.com\/public_html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n\n    # PHP 8.1 i\u00e7in PHP isteklerini y\u00f6nlendir\n    <FilesMatch \\.php$>\n        SetHandler \"proxy:unix:\/run\/php-fpm\/php81-fpm.sock|fcgi:\/\/localhost\"\n    <\/FilesMatch>\n\n    ErrorLog \/var\/log\/httpd\/domain2.com_error.log\n    CustomLog \/var\/log\/httpd\/domain2.com_access.log combined\n<\/VirtualHost><\/code><\/pre>\n<h5>\u00d6rnek 3: domain3.com (PHP 8.2 kullanacak)<\/h5>\n<p><code>domain3.com<\/code> i\u00e7in belge k\u00f6k\u00fcn\u00fc olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo mkdir -p \/var\/www\/domain3.com\/public_html\nsudo chown -R apache:apache \/var\/www\/domain3.com\nsudo chmod -R 755 \/var\/www\/domain3.com<\/code><\/pre>\n<p>Sanal host konfig\u00fcrasyon dosyas\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code>sudo nano \/etc\/httpd\/conf.d\/vhosts\/domain3.com.conf<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olacak:<\/p>\n<pre><code><VirtualHost *:80>\n    ServerName domain3.com\n    ServerAlias www.domain3.com\n    DocumentRoot \/var\/www\/domain3.com\/public_html\n\n    <Directory \/var\/www\/domain3.com\/public_html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n\n    # PHP 8.2 i\u00e7in PHP isteklerini y\u00f6nlendir\n    <FilesMatch \\.php$>\n        SetHandler \"proxy:unix:\/run\/php-fpm\/php82-fpm.sock|fcgi:\/\/localhost\"\n    <\/FilesMatch>\n\n    ErrorLog \/var\/log\/httpd\/domain3.com_error.log\n    CustomLog \/var\/log\/httpd\/domain3.com_access.log combined\n<\/VirtualHost><\/code><\/pre>\n<p>Her sanal host konfig\u00fcrasyon dosyas\u0131nda, <code>ServerName<\/code> ve <code>DocumentRoot<\/code>&#8216;u kendi alan ad\u0131n\u0131za ve belge k\u00f6k\u00fcn\u00fcze g\u00f6re ayarlad\u0131\u011f\u0131n\u0131zdan emin olun. Ayr\u0131ca, <code>ErrorLog<\/code> ve <code>CustomLog<\/code> yollar\u0131n\u0131 da uygun \u015fekilde d\u00fczenleyebilirsiniz.<\/p>\n<h4>Apache Konfig\u00fcrasyonunu Test Etme ve Yeniden Ba\u015flatma<\/h4>\n<p>T\u00fcm sanal host konfig\u00fcrasyonlar\u0131n\u0131 tamamlad\u0131ktan sonra, Apache konfig\u00fcrasyonunuzda s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code>sudo httpd -t<\/code><\/pre>\n<p>E\u011fer \u00e7\u0131kt\u0131 <code>Syntax OK<\/code> ise, Apache servisini yeniden ba\u015flatarak de\u011fi\u015fiklikleri uygulay\u0131n:<\/p>\n<pre><code>sudo systemctl restart httpd<\/code><\/pre>\n<h3>Kurulumu Test Etme<\/h3>\n<p>\u015eimdi her alan ad\u0131n\u0131n do\u011fru PHP s\u00fcr\u00fcm\u00fcn\u00fc kulland\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in her belge k\u00f6k\u00fcne bir <code>info.php<\/code> dosyas\u0131 olu\u015ftural\u0131m.<\/p>\n<p><code>domain1.com<\/code> i\u00e7in (PHP 8.0):<\/p>\n<pre><code>sudo nano \/var\/www\/domain1.com\/public_html\/info.php<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi:<\/p>\n<pre><code><?php phpinfo(); ?><\/code><\/pre>\n<p><code>domain2.com<\/code> i\u00e7in (PHP 8.1):<\/p>\n<pre><code>sudo nano \/var\/www\/domain2.com\/public_html\/info.php<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi:<\/p>\n<pre><code><?php phpinfo(); ?><\/code><\/pre>\n<p><code>domain3.com<\/code> i\u00e7in (PHP 8.2):<\/p>\n<pre><code>sudo nano \/var\/www\/domain3.com\/public_html\/info.php<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi:<\/p>\n<pre><code><?php phpinfo(); ?><\/code><\/pre>\n<p>\u015eimdi taray\u0131c\u0131n\u0131zdan s\u0131ras\u0131yla <code>http:\/\/domain1.com\/info.php<\/code>, <code>http:\/\/domain2.com\/info.php<\/code> ve <code>http:\/\/domain3.com\/info.php<\/code> adreslerine gidin (bu alan adlar\u0131n\u0131 <code>\/etc\/hosts<\/code> dosyan\u0131zda sunucunuzun IP adresine i\u015faretlemeniz veya bir DNS kayd\u0131 olu\u015fturman\u0131z gerekebilir). Her bir <code>info.php<\/code> sayfas\u0131nda g\u00f6sterilen PHP s\u00fcr\u00fcm\u00fcn\u00fcn, o alan ad\u0131 i\u00e7in yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z s\u00fcr\u00fcm oldu\u011fundan emin olun.<\/p>\n<p>\u00d6rne\u011fin, <code>http:\/\/domain1.com\/info.php<\/code> adresinde &#8220;PHP Version 8.0.x&#8221; g\u00f6rmelisiniz.<br \/>\n<code>http:\/\/domain2.com\/info.php<\/code> adresinde &#8220;PHP Version 8.1.x&#8221; g\u00f6rmelisiniz.<br \/>\n<code>http:\/\/domain3.com\/info.php<\/code> adresinde &#8220;PHP Version 8.2.x&#8221; g\u00f6rmelisiniz.<\/p>\n<p>E\u011fer her \u015fey do\u011fru g\u00f6r\u00fcn\u00fcyorsa, \u00e7oklu PHP s\u00fcr\u00fcm\u00fc kurulumunuz ba\u015far\u0131l\u0131 bir \u015fekilde tamamlanm\u0131\u015ft\u0131r!<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorun Giderme<\/h3>\n<p>Kurulum s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>SELinux Engellemeleri<\/h4>\n<p>CentOS&#8217;ta SELinux (Security-Enhanced Linux) g\u00fc\u00e7l\u00fc bir g\u00fcvenlik mekanizmas\u0131d\u0131r ve bazen Apache&#8217;nin PHP-FPM soketlerine veya web sitesi dosyalar\u0131na eri\u015fmesini engelleyebilir.<\/p>\n<ol>\n<li><strong>Apache&#8217;nin FPM soketlerine ba\u011flanamamas\u0131:<\/strong> E\u011fer Apache hata loglar\u0131nda (<code>\/var\/log\/httpd\/error_log<\/code>) proxy veya FastCGI ile ilgili ba\u011flant\u0131 hatalar\u0131 g\u00f6r\u00fcyorsan\u0131z, SELinux&#8217;un Apache&#8217;nin harici a\u011f ba\u011flant\u0131s\u0131 yapmas\u0131n\u0131 engellemesi olas\u0131d\u0131r. Bunu \u00e7\u00f6zmek i\u00e7in:\n<pre><code>sudo setsebool -P httpd_can_network_connect_fpm on<\/code><\/pre>\n<p>        Bu komut, Apache&#8217;nin FPM soketlerine ba\u011flanmas\u0131na izin verir.<\/li>\n<li><strong>Web dizinleri i\u00e7in yanl\u0131\u015f SELinux ba\u011flam\u0131:<\/strong> E\u011fer web sitenizde &#8220;Forbidden&#8221; hatalar\u0131 al\u0131yorsan\u0131z veya PHP dosyalar\u0131 i\u015flenmiyorsa, belge k\u00f6k dizinlerinizin SELinux ba\u011flam\u0131 yanl\u0131\u015f olabilir. Web dizinleriniz i\u00e7in do\u011fru ba\u011flam\u0131 ayarlay\u0131n:\n<pre><code>sudo semanage fcontext -a -t httpd_sys_content_t \"\/var\/www\/domain1.com(\/.*)?\"\nsudo restorecon -Rv \/var\/www\/domain1.com<\/code><\/pre>\n<p>        Bu komutlar\u0131 t\u00fcm belge k\u00f6k dizinleriniz i\u00e7in tekrarlay\u0131n.<\/li>\n<li><strong>Ge\u00e7ici olarak SELinux&#8217;u devre d\u0131\u015f\u0131 b\u0131rakma (yaln\u0131zca sorun giderme ama\u00e7l\u0131):<\/strong>\n<pre><code>sudo setenforce 0<\/code><\/pre>\n<p>        Bu komut SELinux&#8217;u ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rak\u0131r. Sorunu tespit ettikten sonra <code>sudo setenforce 1<\/code> ile tekrar etkinle\u015ftirmeyi unutmay\u0131n. \u00dcretim ortamlar\u0131nda SELinux&#8217;u tamamen devre d\u0131\u015f\u0131 b\u0131rakmak \u00f6nerilmez.<\/li>\n<\/ol>\n<h4>Dosya \u0130zinleri ve Sahiplik Sorunlar\u0131<\/h4>\n<p>PHP betikleri veya web sunucusu, web sitesi dosyalar\u0131na eri\u015femedi\u011finde hatalar meydana gelebilir.<\/p>\n<ul>\n<li><strong>Belge k\u00f6k\u00fc izinleri:<\/strong> Belge k\u00f6k\u00fc dizinlerinin ve i\u00e7indeki dosyalar\u0131n web sunucusu kullan\u0131c\u0131s\u0131 (<code>apache<\/code>) taraf\u0131ndan okunabilir oldu\u011fundan emin olun. Yazma izinleri yaln\u0131zca belirli dizinler (\u00f6rn. y\u00fcklemeler, cache) i\u00e7in verilmelidir.\n<pre><code>sudo chown -R apache:apache \/var\/www\/domain.com\nsudo chmod -R 755 \/var\/www\/domain.com<\/code><\/pre>\n<\/li>\n<li><strong>PHP-FPM soket izinleri:<\/strong> PHP-FPM soketlerinin (\u00f6rn. <code>\/run\/php-fpm\/php80-fpm.sock<\/code>) web sunucusu kullan\u0131c\u0131s\u0131 taraf\u0131ndan eri\u015filebilir oldu\u011fundan emin olun. Remi paketleri genellikle bunu otomatik olarak do\u011fru ayarlar. <code>ls -l \/run\/php-fpm\/<\/code> komutu ile kontrol edebilirsiniz.<\/li>\n<\/ul>\n<h4>Apache S\u00f6zdizimi Hatalar\u0131<\/h4>\n<p>Apache&#8217;yi yeniden ba\u015flat\u0131rken hata al\u0131yorsan\u0131z, konfig\u00fcrasyon dosyalar\u0131n\u0131zda bir s\u00f6zdizimi hatas\u0131 olabilir.<\/p>\n<pre><code>sudo httpd -t<\/code><\/pre>\n<p>Bu komut, hatan\u0131n nerede oldu\u011funu size s\u00f6yleyecektir. Hata mesaj\u0131n\u0131 dikkatlice okuyun ve ilgili konfig\u00fcrasyon dosyas\u0131n\u0131 d\u00fczeltin.<\/p>\n<h4>PHP-FPM Servisleri \u00c7al\u0131\u015fm\u0131yor<\/h4>\n<p>E\u011fer PHP sayfalar\u0131 d\u00fczg\u00fcn \u00e7al\u0131\u015fm\u0131yorsa ve taray\u0131c\u0131da bo\u015f bir sayfa veya &#8220;502 Bad Gateway&#8221; gibi bir hata al\u0131yorsan\u0131z, ilgili PHP-FPM servisi \u00e7al\u0131\u015fm\u0131yor olabilir.<\/p>\n<pre><code>sudo systemctl status php80-php-fpm<\/code><\/pre>\n<p>Bu komutu her PHP s\u00fcr\u00fcm\u00fc i\u00e7in \u00e7al\u0131\u015ft\u0131r\u0131n (\u00f6rn. <code>php81-php-fpm<\/code>, <code>php82-php-fpm<\/code>). E\u011fer servis \u00e7al\u0131\u015fm\u0131yorsa, <code>sudo systemctl start php80-php-fpm<\/code> ile ba\u015flatmaya \u00e7al\u0131\u015f\u0131n ve loglar\u0131n\u0131 (<code>journalctl -xeu php80-php-fpm<\/code>) kontrol ederek hatan\u0131n nedenini anlamaya \u00e7al\u0131\u015f\u0131n.<\/p>\n<h4><code>SetHandler<\/code> Yolu Yanl\u0131\u015f<\/h4>\n<p>Sanal host konfig\u00fcrasyonunuzdaki <code>SetHandler<\/code> direktifindeki soket yolu, PHP-FPM havuzunuzun dinledi\u011fi soket yolu ile tam olarak e\u015fle\u015fmelidir. K\u00fc\u00e7\u00fck bir yaz\u0131m hatas\u0131 bile ba\u011flant\u0131 sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<pre><code>SetHandler \"proxy:unix:\/run\/php-fpm\/php80-fpm.sock|fcgi:\/\/localhost\"<\/code><\/pre>\n<p>Bu yolun do\u011fru oldu\u011fundan ve ilgili PHP-FPM havuzunun konfig\u00fcrasyon dosyas\u0131ndaki (<code>\/etc\/opt\/remi\/php80\/php-fpm.d\/www.conf<\/code>) <code>listen<\/code> direktifiyle ayn\u0131 oldu\u011fundan emin olun.<\/p>\n<h3>En \u0130yi Uygulamalar ve Dikkat Edilmesi Gerekenler<\/h3>\n<p>\u00c7oklu PHP s\u00fcr\u00fcm\u00fc ortam\u0131n\u0131z\u0131 kurduktan sonra, g\u00fcvenli\u011fi, performans\u0131 ve y\u00f6netimi sa\u011flamak i\u00e7in baz\u0131 en iyi uygulamalar\u0131 ve \u00f6nemli noktalar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z faydal\u0131 olacakt\u0131r.<\/p>\n<h4>G\u00fcvenlik<\/h4>\n<ul>\n<li><strong>PHP S\u00fcr\u00fcmlerini G\u00fcncel Tutma:<\/strong> Kullan\u0131lan t\u00fcm PHP s\u00fcr\u00fcmlerini (\u00f6zellikle Remi deposu arac\u0131l\u0131\u011f\u0131yla) d\u00fczenli olarak g\u00fcncelleyin. G\u00fcvenlik a\u00e7\u0131klar\u0131 genellikle yeni s\u00fcr\u00fcmlerde kapat\u0131l\u0131r.<\/li>\n<li><strong>FPM Havuzlar\u0131 i\u00e7in Farkl\u0131 Kullan\u0131c\u0131lar:<\/strong> M\u00fcmk\u00fcnse, her PHP-FPM havuzunu farkl\u0131 bir Linux kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131n. Bu, bir uygulaman\u0131n g\u00fcvenli\u011finin ihlal edilmesi durumunda di\u011fer uygulamalar\u0131n etkilenme riskini azalt\u0131r. (Remi varsay\u0131lan olarak <code>apache<\/code> kullan\u0131c\u0131s\u0131n\u0131 kullan\u0131r, bu da kabul edilebilir ancak daha y\u00fcksek izolasyon i\u00e7in \u00f6zelle\u015ftirilebilir.)<\/li>\n<li><strong><code>open_basedir<\/code> K\u0131s\u0131tlamas\u0131:<\/strong> Her PHP-FPM havuzu i\u00e7in <code>open_basedir<\/code> direktifini kullanarak PHP betiklerinin yaln\u0131zca kendi belge k\u00f6kleri ve gerekli dizinler i\u00e7inde dosyalara eri\u015febilmesini sa\u011flay\u0131n. Bu, dizin traversal\u0131 sald\u0131r\u0131lar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur. Bu ayar\u0131 ilgili PHP s\u00fcr\u00fcm\u00fcn\u00fcn <code>php.ini<\/code> dosyas\u0131nda veya FPM havuz konfig\u00fcrasyonunda yapabilirsiniz.<\/li>\n<li><strong><code>disable_functions<\/code> ve <code>disable_classes<\/code>:<\/strong> Gerekli olmayan tehlikeli PHP fonksiyonlar\u0131n\u0131 ve s\u0131n\u0131flar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n. \u00d6rne\u011fin, <code>exec<\/code>, <code>shell_exec<\/code>, <code>passthru<\/code>, <code>system<\/code> gibi komut \u00e7al\u0131\u015ft\u0131rma fonksiyonlar\u0131 \u00e7o\u011fu web uygulamas\u0131 i\u00e7in gerekli de\u011fildir ve k\u00f6t\u00fcye kullan\u0131labilir.<\/li>\n<li><strong>Apache Mod\u00fcllerini K\u0131s\u0131tlama:<\/strong> Yaln\u0131zca ihtiyac\u0131n\u0131z olan Apache mod\u00fcllerini etkinle\u015ftirin. Gereksiz mod\u00fcller, sald\u0131r\u0131 y\u00fczeyini art\u0131rabilir.<\/li>\n<\/ul>\n<h4>Performans<\/h4>\n<ul>\n<li><strong>PHP-FPM Havuz Ayarlar\u0131n\u0131 Optimize Etme:<\/strong> <code>pm.max_children<\/code>, <code>pm.start_servers<\/code>, <code>pm.min_spare_servers<\/code>, <code>pm.max_spare_servers<\/code> gibi PHP-FPM havuz ayarlar\u0131n\u0131 sunucunuzun RAM ve CPU kapasitesine ve beklenen trafik y\u00fck\u00fcne g\u00f6re ayarlay\u0131n. Yanl\u0131\u015f ayarlar, bellek t\u00fckenmesine veya performans d\u00fc\u015f\u00fc\u015flerine neden olabilir.<\/li>\n<li><strong>Opcache Kullan\u0131m\u0131:<\/strong> T\u00fcm PHP s\u00fcr\u00fcmlerinde OpCache&#8217;i etkinle\u015ftirin ve do\u011fru \u015fekilde yap\u0131land\u0131r\u0131n. OpCache, derlenmi\u015f PHP kodunu bellekte \u00f6nbelle\u011fe alarak betiklerin her istekte yeniden derlenmesini \u00f6nler ve performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Remi paketleri genellikle OpCache&#8217;i otomatik olarak kurar ve etkinle\u015ftirir.<\/li>\n<li><strong>Apache KeepAlive:<\/strong> Apache&#8217;nin <code>KeepAlive<\/code> ayarlar\u0131n\u0131 optimize edin. K\u00fc\u00e7\u00fck, h\u0131zl\u0131 istekler i\u00e7in <code>KeepAlive<\/code>&#8216;\u0131 etkin tutmak, ba\u011flant\u0131 kurulum maliyetini azaltabilir.<\/li>\n<li><strong>Gzip S\u0131k\u0131\u015ft\u0131rma:<\/strong> Apache&#8217;de <code>mod_deflate<\/code> kullanarak \u00e7\u0131kt\u0131 s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirin. Bu, bant geni\u015fli\u011fi kullan\u0131m\u0131n\u0131 azalt\u0131r ve y\u00fckleme s\u00fcrelerini h\u0131zland\u0131r\u0131r.<\/li>\n<\/ul>\n<h4>Y\u00f6netim ve \u0130zleme<\/h4>\n<ul>\n<li><strong>G\u00fcnl\u00fckleri \u0130zleme:<\/strong> Apache hata ve eri\u015fim g\u00fcnl\u00fcklerini (<code>\/var\/log\/httpd\/<\/code>), ayr\u0131ca PHP-FPM hata g\u00fcnl\u00fcklerini d\u00fczenli olarak izleyin. Bu g\u00fcnl\u00fckler, sorunlar\u0131 tespit etmek ve performans\u0131 anlamak i\u00e7in kritik bilgiler i\u00e7erir.<\/li>\n<li><strong>Kaynak Kullan\u0131m\u0131 \u0130zleme:<\/strong> Sunucunuzun CPU, RAM ve disk kullan\u0131m\u0131n\u0131 izleyin. Her PHP-FPM s\u00fcr\u00fcm\u00fc kendi kaynaklar\u0131n\u0131 t\u00fcketece\u011finden, kaynaklar\u0131n dikkatli bir \u015fekilde y\u00f6netilmesi \u00f6nemlidir. <code>top<\/code>, <code>htop<\/code>, <code>free -h<\/code> gibi komutlar veya izleme ara\u00e7lar\u0131 kullanabilirsiniz.<\/li>\n<li><strong>Konfig\u00fcrasyon Y\u00f6netimi:<\/strong> Birden fazla PHP s\u00fcr\u00fcm\u00fc ve sanal host ile \u00e7al\u0131\u015f\u0131rken, konfig\u00fcrasyon dosyalar\u0131n\u0131 manuel olarak y\u00f6netmek karma\u015f\u0131k hale gelebilir. Ansible, Puppet veya Chef gibi konfig\u00fcrasyon y\u00f6netim ara\u00e7lar\u0131 kullanarak bu s\u00fcreci otomatikle\u015ftirebilir ve tutarl\u0131l\u0131k sa\u011flayabilirsiniz.<\/li>\n<li><strong>Yedeklemeler:<\/strong> D\u00fczenli yedeklemeler al\u0131n. Konfig\u00fcrasyon dosyalar\u0131, veritabanlar\u0131 ve web sitesi dosyalar\u0131 dahil olmak \u00fczere t\u00fcm kritik verileri yedekleyin.<\/li>\n<\/ul>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, CentOS 8 \u00fczerinde Apache ve PHP-FPM kullanarak tek bir sunucuda birden fazla PHP s\u00fcr\u00fcm\u00fcn\u00fc nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m ele ald\u0131k. Remi deposunun g\u00fcc\u00fcnden faydalanarak farkl\u0131 PHP s\u00fcr\u00fcmlerini kurduk, her bir PHP s\u00fcr\u00fcm\u00fc i\u00e7in ayr\u0131 PHP-FPM servisleri yap\u0131land\u0131rd\u0131k ve Apache sanal hostlar\u0131n\u0131 bu servislere y\u00f6nlendirecek \u015fekilde ayarlad\u0131k. Bu y\u00f6ntem, web uygulamalar\u0131n\u0131z i\u00e7in y\u00fcksek esneklik, performans ve izolasyon sa\u011flar.<\/p>\n<p>Art\u0131k eski PHP s\u00fcr\u00fcm\u00fcne ba\u011f\u0131ml\u0131 bir uygulama ile en g\u00fcncel PHP s\u00fcr\u00fcm\u00fcn\u00fc kullanan yeni bir proje ayn\u0131 sunucuda sorunsuz bir \u015fekilde bar\u0131nd\u0131r\u0131labilir. Bu kurulum, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131 i\u00e7in ideal bir \u00e7\u00f6z\u00fcm sunar. Unutmay\u0131n ki, her ne kadar kurulum s\u00fcreci belirli ad\u0131mlar\u0131 i\u00e7erse de, sunucunuzun \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re PHP-FPM havuz ayarlar\u0131n\u0131 ve g\u00fcvenlik \u00f6nlemlerini optimize etmek kritik \u00f6neme sahiptir. D\u00fczenli bak\u0131m, izleme ve g\u00fcncellemeler, \u00e7oklu PHP ortam\u0131n\u0131z\u0131n uzun \u00f6m\u00fcrl\u00fc ve g\u00fcvenli olmas\u0131n\u0131 sa\u011flayacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma\nGiri\u015f\nModern web geli\u015ftirme d\u00fcnyas\u0131nda, fa","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-31737","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma\" \/>\n<meta property=\"og:description\" content=\"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma Giri\u015f Modern web geli\u015ftirme d\u00fcnyas\u0131nda, fa\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-13T08:41:18+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma\",\"datePublished\":\"2025-10-13T08:41:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/\"},\"wordCount\":3428,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/\",\"name\":\"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-13T08:41:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/","og_locale":"tr_TR","og_type":"article","og_title":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma","og_description":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma Giri\u015f Modern web geli\u015ftirme d\u00fcnyas\u0131nda, fa","og_url":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-13T08:41:18+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma","datePublished":"2025-10-13T08:41:18+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/"},"wordCount":3428,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/","url":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/","name":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-13T08:41:18+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/centos-8-uzerinde-apache-ve-php-fpm-kullanarak-tek-sunucuda-birden-fazla-php-surumu-calistirma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CentOS 8 \u00dczerinde Apache ve PHP-FPM Kullanarak Tek Sunucuda Birden Fazla PHP S\u00fcr\u00fcm\u00fc \u00c7al\u0131\u015ft\u0131rma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31737"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31737\/revisions"}],"predecessor-version":[{"id":31738,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31737\/revisions\/31738"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}