{"id":41233,"date":"2026-03-13T14:03:26","date_gmt":"2026-03-13T11:03:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/"},"modified":"2026-03-13T14:03:26","modified_gmt":"2026-03-13T11:03:26","slug":"web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/","title":{"rendered":"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?"},"content":{"rendered":"<p><title>Ubuntu 20.04&#8217;te PHP 7.4 Kurulumu ve Geli\u015ftirme Ortam\u0131 Olu\u015fturma<\/title><br \/>\n<body><\/p>\n<p>Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam kurmak, her geli\u015ftiricinin temel ihtiya\u00e7lar\u0131ndan biridir. Ubuntu 20.04 \u00fczerinde PHP 7.4&#8217;\u00fc ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yerel bir geli\u015ftirme ortam\u0131 olu\u015fturaca\u011f\u0131n\u0131z\u0131 \u00f6\u011frenin. G\u00fcvenli ve verimli bir PHP deneyimi i\u00e7in t\u00fcm detaylar bu makalede.<\/p>\n<h2>Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?<\/h2>\n<p>Web geli\u015ftirme, s\u00fcrekli de\u011fi\u015fen ve geli\u015fen bir aland\u0131r. Bu dinamik ortamda, g\u00fc\u00e7l\u00fc ve stabil ara\u00e7lara sahip olmak, projelerinizin ba\u015far\u0131s\u0131 i\u00e7in kritik \u00f6neme sahiptir. PHP, \u00f6zellikle sunucu tarafl\u0131 programlama dillerinin ba\u015f\u0131nda gelmekle birlikte, milyarlarca web sitesine g\u00fc\u00e7 vermektedir. PHP 7.4 s\u00fcr\u00fcm\u00fc, performans iyile\u015ftirmeleri, yeni \u00f6zellikler ve g\u00fcvenlik g\u00fcncellemeleriyle geli\u015ftiricilere daha h\u0131zl\u0131 ve daha g\u00fcvenli uygulamalar olu\u015fturma imkan\u0131 sunmu\u015ftur. \u00d6rne\u011fin, PHP 7.4 ile gelen &#8220;arrow functions&#8221; ve &#8220;typed properties&#8221; gibi \u00f6zellikler, kod yaz\u0131m\u0131n\u0131 basitle\u015ftirerek geli\u015ftirme s\u00fcrecini h\u0131zland\u0131rm\u0131\u015ft\u0131r. Bu s\u00fcr\u00fcm, \u00f6zellikle eski ancak hala aktif projeleri olan veya belirli bir stabilite arayan ekipler i\u00e7in cazibesini korumaktad\u0131r.<\/p>\n<p>Di\u011fer yandan, Ubuntu 20.04 LTS (Long Term Support) s\u00fcr\u00fcm\u00fc, uzun vadeli destek ve kararl\u0131l\u0131k sunan pop\u00fcler bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. LTS s\u00fcr\u00fcmleri, genellikle be\u015f y\u0131l boyunca g\u00fcvenlik g\u00fcncellemeleri ve hata d\u00fczeltmeleri al\u0131r, bu da onu hem sunucu ortamlar\u0131 hem de yerel geli\u015ftirme makineleri i\u00e7in m\u00fckemmel bir se\u00e7im haline getirir. Ubuntu&#8217;nun geni\u015f toplulu\u011fu ve zengin paket depolar\u0131 sayesinde, PHP ve di\u011fer ba\u011f\u0131ml\u0131l\u0131klar\u0131 kurmak ve y\u00f6netmek olduk\u00e7a kolayd\u0131r. Ayr\u0131ca, geli\u015ftiricilere y\u00f6nelik ara\u00e7lar\u0131n ve k\u00fct\u00fcphanelerin \u00e7o\u011fu Ubuntu \u00fczerinde sorunsuz bir \u015fekilde \u00e7al\u0131\u015f\u0131r. Bu kombinasyon, PHP 7.4&#8217;\u00fcn g\u00fcc\u00fc ile Ubuntu 20.04&#8217;\u00fcn kararl\u0131l\u0131\u011f\u0131n\u0131 bir araya getirerek, hem yeni ba\u015flayanlar hem de deneyimli profesyoneller i\u00e7in ideal bir yerel geli\u015ftirme ortam\u0131 olu\u015fturur. Bu makale boyunca, bu g\u00fc\u00e7l\u00fc ikiliyi nas\u0131l bir araya getirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. G\u00fcvenli bir kurulum s\u00fcreci ve verimli bir \u00e7al\u0131\u015fma ortam\u0131 sa\u011flamak i\u00e7in gerekli t\u00fcm ad\u0131mlar\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<p>PHP&#8217;nin web \u00fczerindeki hakimiyeti g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, bu dili \u00f6\u011frenmek ve ustala\u015fmak, modern web geli\u015ftirme kariyeri i\u00e7in vazge\u00e7ilmezdir. PHP 7.4&#8217;\u00fcn getirdi\u011fi yenilikler, eski s\u00fcr\u00fcmlere g\u00f6re \u00f6nemli \u00f6l\u00e7\u00fcde performans art\u0131\u015f\u0131 sa\u011flam\u0131\u015ft\u0131r. Bu, \u00f6zellikle y\u00fcksek trafikli web siteleri i\u00e7in kritik bir fakt\u00f6rd\u00fcr. \u00d6rne\u011fin, PHP 7.0 ile ba\u015flayan ve 7.4 ile devam eden performans s\u0131\u00e7ramalar\u0131, ayn\u0131 donan\u0131m \u00fczerinde \u00e7ok daha fazla iste\u011fi i\u015fleyebilme kapasitesi anlam\u0131na gelmektedir. Bu durum, sunucu maliyetlerini d\u00fc\u015f\u00fcrmeye yard\u0131mc\u0131 olurken, kullan\u0131c\u0131 deneyimini de iyile\u015ftirir. Dolay\u0131s\u0131yla, bu s\u00fcr\u00fcm, hem yeni projeler i\u00e7in sa\u011flam bir temel sunar hem de mevcut projelerin g\u00fcncellenmesi i\u00e7in g\u00fc\u00e7l\u00fc bir arg\u00fcman te\u015fkil eder. Ubuntu 20.04&#8217;\u00fcn sundu\u011fu g\u00fcncel paketler ve g\u00fcvenlik \u00f6zellikleri ise, geli\u015ftirme ortam\u0131n\u0131z\u0131n hem g\u00fcncel hem de g\u00fcvende kalmas\u0131n\u0131 sa\u011flar. Bu sayede, geli\u015ftiriciler kod yazmaya odaklanabilir ve altyap\u0131 sorunlar\u0131yla daha az u\u011fra\u015fabilirler.<\/p>\n<h2>Geli\u015ftirme Ortam\u0131 Kurulumuna Ba\u015flamadan \u00d6nce Neler Yapmal\u0131y\u0131z?<\/h2>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce sisteminizi haz\u0131rlamak, sorunsuz bir deneyim i\u00e7in hayati \u00f6neme sahiptir. Ubuntu 20.04 \u00fczerinde PHP 7.4 ve bir yerel geli\u015ftirme ortam\u0131 kurarken de bu durum ge\u00e7erlidir. \u0130lk olarak, sisteminizin g\u00fcncel oldu\u011fundan emin olmal\u0131s\u0131n\u0131z. G\u00fcncel bir sistem, hem g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r hem de paket ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 en aza indirir. Bu, genellikle terminalde birka\u00e7 basit komutla ger\u00e7ekle\u015ftirilebilir. Sistem g\u00fcncellemeleri, mevcut paketlerin en son kararl\u0131 s\u00fcr\u00fcmlerine ge\u00e7ilmesini sa\u011flar ve bu da potansiyel uyumluluk sorunlar\u0131n\u0131 \u00f6nler. Ayr\u0131ca, PHP gibi bir dilin kurulumu s\u0131ras\u0131nda gerekli olabilecek temel ara\u00e7lar\u0131n (\u00f6rne\u011fin, <code>wget<\/code>, <code>curl<\/code>, <code>software-properties-common<\/code>) sisteminizde y\u00fckl\u00fc oldu\u011fundan emin olmak da \u00f6nemlidir. Bu ara\u00e7lar, ek paket depolar\u0131 eklemek veya dosya indirmek i\u00e7in s\u0131kl\u0131kla kullan\u0131l\u0131r.<\/p>\n<p>PHP&#8217;nin \u00e7e\u015fitli s\u00fcr\u00fcmlerini Ubuntu&#8217;ya kurmak i\u00e7in genellikle \u00fc\u00e7\u00fcnc\u00fc taraf depolar kullan\u0131l\u0131r. Bunun en pop\u00fcler ve g\u00fcvenilir yollar\u0131ndan biri, Ondrej PPA (Personal Package Archive) deposunu eklemektir. Ondrej PPA, Debian ve Ubuntu i\u00e7in PHP&#8217;nin farkl\u0131 s\u00fcr\u00fcmlerini ve ilgili eklentilerini sunan sayg\u0131n bir kaynakt\u0131r. Bu depoyu ekledikten sonra, sisteminiz PHP 7.4 paketlerine eri\u015febilir hale gelir. Bu \u00f6n haz\u0131rl\u0131k ad\u0131mlar\u0131, kurulum s\u00fcrecinin geri kalan\u0131n\u0131n sorunsuz ilerlemesini sa\u011flar ve olas\u0131 hatalar\u0131n \u00f6n\u00fcne ge\u00e7er. Unutmay\u0131n ki, herhangi bir sistem de\u011fi\u015fikli\u011fi yapmadan \u00f6nce \u00f6nemli verilerinizi yedeklemek her zaman iyi bir uygulamad\u0131r, ancak bu kurulum s\u00fcreci genellikle sistem kararl\u0131l\u0131\u011f\u0131n\u0131 etkileyecek b\u00fcy\u00fck de\u011fi\u015fiklikler i\u00e7ermez.<\/p>\n<h3>Vaka Analizi: Yeni Bir Proje \u0130\u00e7in Temel Haz\u0131rl\u0131klar<\/h3>\n<p>Ay\u015fe, yeni bir e-ticaret platformu \u00fczerinde \u00e7al\u0131\u015fmaya ba\u015flayacak gen\u00e7 bir geli\u015ftirici. Proje, eski bir kod taban\u0131na sahip oldu\u011fu i\u00e7in PHP 7.4&#8217;\u00fc temel al\u0131yor ve Ubuntu 20.04 \u00fczerinde yerel bir geli\u015ftirme ortam\u0131 kurmas\u0131 gerekiyor. Ay\u015fe, ilk olarak terminali a\u00e7t\u0131 ve sistemini g\u00fcncellemeyle i\u015fe koyuldu. Bu, hem mevcut g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatmak hem de yeni kurulacak paketlerin en g\u00fcncel ba\u011f\u0131ml\u0131l\u0131klarla \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in kritik bir ad\u0131md\u0131. Ard\u0131ndan, PHP&#8217;nin farkl\u0131 s\u00fcr\u00fcmlerini bar\u0131nd\u0131ran Ondrej PPA deposunu ekledi. Bu depo, PHP 7.4&#8217;e kolayca eri\u015fmesini sa\u011flad\u0131. Bu \u00f6n haz\u0131rl\u0131klar sayesinde Ay\u015fe, projesinin gerektirdi\u011fi spesifik PHP s\u00fcr\u00fcm\u00fcn\u00fc sorunsuz bir \u015fekilde kurabildi ve projenin ba\u015flang\u0131\u00e7 a\u015famas\u0131n\u0131 h\u0131zland\u0131rd\u0131. Bu durum, geli\u015ftirme s\u00fcrecindeki olas\u0131 uyumsuzluklar\u0131 ve zaman kay\u0131plar\u0131n\u0131 en ba\u015ftan engellemi\u015f oldu.<\/p>\n<p>\u015eimdi, bu ad\u0131mlar\u0131 s\u0131ras\u0131yla nas\u0131l uygulayaca\u011f\u0131m\u0131za bakal\u0131m:<\/p>\n<ol>\n<li><strong>Sistem G\u00fcncellemesi:<\/strong> Terminali a\u00e7\u0131n (Ctrl+Alt+T) ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:\n<pre><code>\nsudo apt update\nsudo apt upgrade -y\n<\/code><\/pre>\n<p>            Bu komutlar, paket listelerinizi g\u00fcnceller ve sisteminizdeki t\u00fcm y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir.<\/li>\n<li><strong>Gerekli Ara\u00e7lar\u0131n Kurulumu:<\/strong> E\u011fer y\u00fckl\u00fc de\u011fillerse, a\u015fa\u011f\u0131daki komutla gerekli ara\u00e7lar\u0131 kurun:\n<pre><code>\nsudo apt install software-properties-common curl wget -y\n<\/code><\/pre>\n<p>            Bu paketler, \u00f6zellikle PPA depolar\u0131n\u0131 eklemek ve internetten dosya indirmek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Ondrej PPA Deposunu Ekleme:<\/strong> PHP 7.4&#8217;\u00fc kolayca kurabilmek i\u00e7in Ondrej PPA deposunu eklememiz gerekiyor:\n<pre><code>\nsudo add-apt-repository ppa:ondrej\/php -y\nsudo apt update\n<\/code><\/pre>\n<p>            \u0130lk komut depoyu eklerken, ikinci komut yeni deponun paket listelerini sisteminize dahil etmek i\u00e7in paket listesini tekrar g\u00fcnceller. Bu ad\u0131mlar\u0131n tamamlanmas\u0131n\u0131n ard\u0131ndan, sisteminiz PHP 7.4 kurulumuna haz\u0131r hale gelecektir. Art\u0131k PHP&#8217;nin kendisini ve gerekli eklentilerini kurmaya ge\u00e7ebiliriz.<\/li>\n<\/ol>\n<h2>Ubuntu 20.04 \u00dczerine PHP 7.4 Nas\u0131l Kurulur?<\/h2>\n<p>Sistemimizi haz\u0131rlad\u0131\u011f\u0131m\u0131za g\u00f6re, \u015fimdi PHP 7.4&#8217;\u00fc Ubuntu 20.04&#8217;e kurma zaman\u0131. Bu a\u015fama, web uygulamalar\u0131n\u0131z\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in temel PHP motorunu y\u00fcklemeyi ve gerekli eklentileri etkinle\u015ftirmeyi i\u00e7erir. PHP&#8217;nin kendisi tek ba\u015f\u0131na yeterli de\u011fildir; \u00e7o\u011fu web uygulamas\u0131, veritaban\u0131 ba\u011flant\u0131s\u0131, resim i\u015fleme, XML ayr\u0131\u015ft\u0131rma gibi i\u015flevler i\u00e7in \u00e7e\u015fitli PHP eklentilerine ihtiya\u00e7 duyar. Bu nedenle, genel bir geli\u015ftirme ortam\u0131 i\u00e7in en yayg\u0131n kullan\u0131lan eklentileri de kurmak \u00f6nemlidir. Kurulum s\u00fcreci, komut sat\u0131r\u0131 \u00fczerinden birka\u00e7 basit komutla ger\u00e7ekle\u015ftirilir ve olduk\u00e7a h\u0131zl\u0131d\u0131r. PHP 7.4&#8217;\u00fcn kurulumu, sisteminizdeki mevcut PHP s\u00fcr\u00fcmleriyle \u00e7ak\u0131\u015fma ya\u015famadan ayr\u0131 bir \u015fekilde yap\u0131labilir, bu da farkl\u0131 projeler i\u00e7in farkl\u0131 PHP s\u00fcr\u00fcmlerini kullanman\u0131z gerekti\u011finde b\u00fcy\u00fck bir avantaj sa\u011flar. Kurulumun ard\u0131ndan, PHP&#8217;nin do\u011fru bir \u015fekilde y\u00fcklendi\u011fini ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in basit bir test yapaca\u011f\u0131z.<\/p>\n<p>PHP 7.4&#8217;\u00fc ve temel eklentilerini kurmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<ol>\n<li><strong>PHP 7.4 ve Temel Eklentilerin Kurulumu:<\/strong> Terminalde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:\n<pre><code>\nsudo apt install php7.4 php7.4-cli php7.4-common php7.4-mysql php7.4-xml php7.4-mbstring php7.4-gd php7.4-curl php7.4-zip php7.4-fpm libapache2-mod-php7.4 -y\n<\/code><\/pre>\n<p>            Bu komut, PHP 7.4&#8217;\u00fcn kendisini (<code>php7.4<\/code>), komut sat\u0131r\u0131 aray\u00fcz\u00fcn\u00fc (<code>php7.4-cli<\/code>), ortak dosyalar\u0131n\u0131 (<code>php7.4-common<\/code>) ve pop\u00fcler eklentilerini kurar:<\/p>\n<ul>\n<li><code>php7.4-mysql<\/code>: MySQL\/MariaDB veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in.<\/li>\n<li><code>php7.4-xml<\/code>: XML verilerini i\u015flemek i\u00e7in.<\/li>\n<li><code>php7.4-mbstring<\/code>: \u00c7ok baytl\u0131 karakter dizileri (\u00f6rne\u011fin T\u00fcrk\u00e7e karakterler) i\u00e7in.<\/li>\n<li><code>php7.4-gd<\/code>: Resim i\u015fleme ve manip\u00fclasyonu i\u00e7in.<\/li>\n<li><code>php7.4-curl<\/code>: URL&#8217;ler \u00fczerinden veri al\u0131\u015fveri\u015fi yapmak i\u00e7in.<\/li>\n<li><code>php7.4-zip<\/code>: Zip ar\u015fivleri olu\u015fturmak ve a\u00e7mak i\u00e7in.<\/li>\n<li><code>php7.4-fpm<\/code>: PHP-FPM (FastCGI Process Manager) i\u00e7in, \u00f6zellikle Nginx gibi sunucularla veya y\u00fcksek performans gerektiren durumlar i\u00e7in idealdir.<\/li>\n<li><code>libapache2-mod-php7.4<\/code>: Apache web sunucusu ile PHP&#8217;yi entegre etmek i\u00e7in bir mod\u00fcl.<\/li>\n<\/ul>\n<p>            Bu paketlerin y\u00fcklenmesi biraz zaman alabilir; kurulum tamamland\u0131\u011f\u0131nda terminal size bilgi verecektir.<\/li>\n<li><strong>PHP Kurulumunu Do\u011frulama:<\/strong> PHP&#8217;nin do\u011fru bir \u015fekilde kuruldu\u011funu ve s\u00fcr\u00fcm\u00fcn\u00fcn 7.4 oldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:\n<pre><code>\nphp -v\n<\/code><\/pre>\n<p>            Bu komutun \u00e7\u0131kt\u0131s\u0131, PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc ve derleme detaylar\u0131n\u0131 g\u00f6stermelidir. \u00c7\u0131kt\u0131da &#8220;PHP 7.4.x&#8221; gibi bir ifade g\u00f6rmelisiniz. \u00d6rne\u011fin:<\/p>\n<pre><code>\nPHP 7.4.33 (cli) (built: Oct 27 2022 14:48:47) ( NTS )\nCopyright (c) The PHP Group\nZend Engine v3.4.0, Copyright (c) Zend Technologies\n    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies\n<\/code><\/pre>\n<p>            Bu \u00e7\u0131kt\u0131, PHP 7.4&#8217;\u00fcn komut sat\u0131r\u0131 aray\u00fcz\u00fcn\u00fcn ba\u015far\u0131yla kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir. Art\u0131k PHP kodlar\u0131n\u0131z\u0131 terminal \u00fczerinden \u00e7al\u0131\u015ft\u0131rabilirsiniz. Web sunucusu entegrasyonu i\u00e7in sonraki ad\u0131ma ge\u00e7ebiliriz. Bu ad\u0131mlar, geli\u015ftirme ortam\u0131n\u0131z\u0131n temelini olu\u015fturur ve \u00e7o\u011fu PHP projesi i\u00e7in yeterli bir ba\u015flang\u0131\u00e7 noktas\u0131 sa\u011flar. Daha sonra ihtiyac\u0131n\u0131z olan di\u011fer eklentileri de benzer \u015fekilde <code>sudo apt install php7.4-eklenti_ad\u0131<\/code> komutuyla kurabilirsiniz.<\/li>\n<\/ol>\n<p>Bu a\u015famadan sonra, PHP 7.4&#8217;\u00fcn temel i\u015flevselli\u011fi sisteminizde mevcut olacakt\u0131r. Ancak, web tabanl\u0131 uygulamalar\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rabilmek i\u00e7in bir web sunucusuna ihtiyac\u0131m\u0131z var. Bir sonraki b\u00f6l\u00fcmde, Apache web sunucusunu kurup PHP 7.4 ile nas\u0131l entegre edece\u011fimizi detayl\u0131ca inceleyece\u011fiz. Bu entegrasyon, taray\u0131c\u0131n\u0131z \u00fczerinden PHP dosyalar\u0131na eri\u015fmenizi ve geli\u015ftirdi\u011finiz web sitelerini yerel olarak g\u00f6r\u00fcnt\u00fclemenizi sa\u011flayacakt\u0131r.<\/p>\n<h2>PHP 7.4 ile \u00c7al\u0131\u015facak Bir Web Sunucusu Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r? (Apache2 \u00d6rne\u011fi)<\/h2>\n<p>PHP uygulamalar\u0131n\u0131z\u0131 taray\u0131c\u0131 \u00fczerinden \u00e7al\u0131\u015ft\u0131rabilmek i\u00e7in bir web sunucusuna ihtiyac\u0131n\u0131z vard\u0131r. Apache2, d\u00fcnya genelinde en yayg\u0131n kullan\u0131lan web sunucular\u0131ndan biridir ve PHP ile m\u00fckemmel bir uyum i\u00e7indedir. Ubuntu 20.04 \u00fczerinde Apache2&#8217;yi kurmak ve PHP 7.4 ile entegre etmek olduk\u00e7a basittir. Bu entegrasyon, Apache&#8217;nin PHP dosyalar\u0131n\u0131 yorumlayabilmesini ve taray\u0131c\u0131ya sonu\u00e7lar\u0131 g\u00f6ndermesini sa\u011flar. Apache&#8217;nin mod\u00fcler yap\u0131s\u0131 sayesinde, <code>libapache2-mod-php7.4<\/code> mod\u00fcl\u00fcn\u00fc etkinle\u015ftirerek PHP deste\u011fini kolayca ekleyebiliriz. Ayr\u0131ca, birden fazla proje \u00fczerinde \u00e7al\u0131\u015f\u0131rken her bir proje i\u00e7in ayr\u0131 bir alan ad\u0131 (\u00f6rne\u011fin, <code>proje1.local<\/code>, <code>proje2.local<\/code>) tan\u0131mlaman\u0131za olanak tan\u0131yan sanal host (Virtual Host) yap\u0131land\u0131rmas\u0131 da olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r. Bu, geli\u015ftirme ortam\u0131n\u0131z\u0131 daha d\u00fczenli ve ger\u00e7ek d\u00fcnya senaryolar\u0131na uygun hale getirir.<\/p>\n<p>Apache2&#8217;yi kurmak ve PHP 7.4 ile yap\u0131land\u0131rmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<ol>\n<li><strong>Apache2 Kurulumu:<\/strong> Apache web sunucusunu kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:\n<pre><code>\nsudo apt install apache2 -y\n<\/code><\/pre>\n<p>            Kurulum tamamland\u0131\u011f\u0131nda, Apache2 servisi otomatik olarak ba\u015flayacakt\u0131r. Taray\u0131c\u0131n\u0131zda <code>http:\/\/localhost<\/code> adresine giderek &#8220;Apache2 Ubuntu Default Page&#8221; sayfas\u0131n\u0131 g\u00f6rmeniz gerekir. Bu, Apache&#8217;nin ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/li>\n<li><strong>PHP 7.4 Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme:<\/strong> PHP&#8217;yi Apache ile entegre etmek i\u00e7in daha \u00f6nce kurdu\u011fumuz <code>libapache2-mod-php7.4<\/code> mod\u00fcl\u00fcn\u00fc etkinle\u015ftirmemiz gerekiyor. Bu genellikle kurulum s\u0131ras\u0131nda otomatik olarak yap\u0131l\u0131r, ancak kontrol etmek ve emin olmak faydal\u0131d\u0131r:\n<pre><code>\nsudo a2enmod php7.4\nsudo systemctl restart apache2\n<\/code><\/pre>\n<p>            <code>a2enmod<\/code> komutu Apache mod\u00fcllerini etkinle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Ard\u0131ndan, Apache servisini yeniden ba\u015flatarak de\u011fi\u015fikliklerin etkinle\u015fmesini sa\u011flar\u0131z.<\/li>\n<li><strong>PHP Bilgi Sayfas\u0131 Olu\u015fturma (Test Ama\u00e7l\u0131):<\/strong> PHP&#8217;nin Apache ile do\u011fru bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in basit bir <code>phpinfo()<\/code> dosyas\u0131 olu\u015ftural\u0131m. Bu dosya, PHP&#8217;nin yap\u0131land\u0131rmas\u0131 ve y\u00fckl\u00fc eklentileri hakk\u0131nda detayl\u0131 bilgi g\u00f6sterecektir.\n<p>Apache&#8217;nin varsay\u0131lan web k\u00f6k dizini <code>\/var\/www\/html\/<\/code> konumundad\u0131r. Bu dizin i\u00e7inde bir dosya olu\u015ftural\u0131m:<\/p>\n<pre><code>\nsudo nano \/var\/www\/html\/info.php\n<\/code><\/pre>\n<p>            A\u00e7\u0131lan edit\u00f6re a\u015fa\u011f\u0131daki kodu yap\u0131\u015ft\u0131r\u0131n ve kaydedin (Ctrl+O, Enter, Ctrl+X):<\/p>\n<pre><code>\n&lt;?php\nphpinfo();\n?&gt;\n<\/code><\/pre>\n<p>            \u015eimdi taray\u0131c\u0131n\u0131zda <code>http:\/\/localhost\/info.php<\/code> adresine gidin. PHP 7.4&#8217;\u00fcn yap\u0131land\u0131rma sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu sayfa, PHP&#8217;nin s\u00fcr\u00fcm\u00fcn\u00fc, y\u00fckl\u00fc eklentilerini ve di\u011fer bir\u00e7ok yap\u0131land\u0131rma bilgisini i\u00e7erir. Bu, PHP&#8217;nin Apache ile ba\u015far\u0131yla entegre edildi\u011fi anlam\u0131na gelir. G\u00fcvenlik nedeniyle, bu dosyay\u0131 testten sonra silmeyi unutmay\u0131n:<\/p>\n<pre><code>\nsudo rm \/var\/www\/html\/info.php\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>Vaka Analizi: \u00c7oklu Proje Y\u00f6netimi \u0130\u00e7in Sanal Hostlar<\/h3>\n<p>Mehmet, ayn\u0131 anda hem ki\u015fisel blogu hem de bir m\u00fc\u015fterisi i\u00e7in geli\u015ftirdi\u011fi e-ticaret sitesi \u00fczerinde \u00e7al\u0131\u015f\u0131yor. Her iki projenin de farkl\u0131 alan adlar\u0131 (\u00f6rne\u011fin, <code>blogum.local<\/code> ve <code>ecommerce.local<\/code>) \u00fczerinden eri\u015filebilir olmas\u0131n\u0131 istiyor. Bu senaryoda Mehmet, Apache&#8217;nin sanal host \u00f6zelli\u011fini kullanarak her proje i\u00e7in ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturur. \u0130lk olarak, <code>\/etc\/apache2\/sites-available\/<\/code> dizininde <code>blogum.local.conf<\/code> ve <code>ecommerce.local.conf<\/code> ad\u0131nda iki yeni dosya olu\u015fturur. Her bir dosya, ilgili projenin k\u00f6k dizinini ve sunucu ad\u0131n\u0131 belirtir. Ard\u0131ndan, <code>a2ensite<\/code> komutuyla bu sanal hostlar\u0131 etkinle\u015ftirir ve Apache&#8217;yi yeniden ba\u015flat\u0131r. Son olarak, <code>\/etc\/hosts<\/code> dosyas\u0131na bu yerel alan adlar\u0131n\u0131 <code>127.0.0.1<\/code> ile e\u015fle\u015ftirerek taray\u0131c\u0131dan eri\u015filebilir hale getirir. Bu sayede Mehmet, ayn\u0131 yerel sunucu \u00fczerinde birbirinden ba\u011f\u0131ms\u0131z iki web sitesi geli\u015ftirebilir ve y\u00f6netebilir.<\/p>\n<p>Bu ad\u0131mlarla, Apache2 web sunucunuz PHP 7.4 ile birlikte \u00e7al\u0131\u015fmaya haz\u0131r hale gelmi\u015ftir. Art\u0131k web uygulamalar\u0131n\u0131z\u0131 <code>\/var\/www\/html\/<\/code> dizinine yerle\u015ftirerek veya sanal hostlar arac\u0131l\u0131\u011f\u0131yla farkl\u0131 dizinlerde bar\u0131nd\u0131rarak yerel olarak test edebilirsiniz. Bu yap\u0131land\u0131rma, geli\u015ftirme s\u00fcrecinizi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131racak ve size ger\u00e7ek bir sunucu ortam\u0131n\u0131n sim\u00fclasyonunu sa\u011flayacakt\u0131r. Gelecek b\u00f6l\u00fcmde, PHP uygulamalar\u0131n\u0131z\u0131n veri depolamas\u0131 i\u00e7in bir veritaban\u0131 sunucusu olan MySQL\/MariaDB&#8217;yi nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 inceleyece\u011fiz.<\/p>\n<h2>PHP Uygulamalar\u0131 \u0130\u00e7in MySQL\/MariaDB Veritaban\u0131 Nas\u0131l Kurulur ve Yap\u0131land\u0131r\u0131l\u0131r?<\/h2>\n<p>\u00c7o\u011fu modern PHP uygulamas\u0131, kullan\u0131c\u0131 verileri, \u00fcr\u00fcn bilgileri, ayarlar ve daha fazlas\u0131 gibi dinamik i\u00e7erikleri depolamak i\u00e7in bir veritaban\u0131na ihtiya\u00e7 duyar. MySQL ve MariaDB, a\u00e7\u0131k kaynakl\u0131 ve olduk\u00e7a pop\u00fcler ili\u015fkisel veritaban\u0131 y\u00f6netim sistemleridir ve PHP ile sorunsuz bir \u015fekilde entegre olurlar. MariaDB, MySQL&#8217;in topluluk taraf\u0131ndan geli\u015ftirilen bir fork&#8217;udur ve genellikle MySQL ile tam uyumludur, ancak baz\u0131 performans iyile\u015ftirmeleri ve ek \u00f6zellikler sunar. Ubuntu 20.04 \u00fczerinde bu veritaban\u0131 sunucular\u0131ndan birini kurmak ve temel bir veritaban\u0131 ile kullan\u0131c\u0131 olu\u015fturmak, PHP uygulamalar\u0131n\u0131z\u0131n veri depolama ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in kritik bir ad\u0131md\u0131r. Kurulumdan sonra, veritaban\u0131 sunucusunun g\u00fcvenli\u011fini sa\u011flamak i\u00e7in baz\u0131 temel yap\u0131land\u0131rmalar yapmak da \u00f6nemlidir. Bu sayede, geli\u015ftirme ortam\u0131n\u0131z hem i\u015flevsel hem de g\u00fcvenli olacakt\u0131r.<\/p>\n<p>MariaDB&#8217;yi kurmak ve yap\u0131land\u0131rmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<ol>\n<li><strong>MariaDB Kurulumu:<\/strong> MariaDB sunucusunu kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:\n<pre><code>\nsudo apt install mariadb-server -y\n<\/code><\/pre>\n<p>            Bu komut, MariaDB sunucusunu ve ilgili ba\u011f\u0131ml\u0131l\u0131klar\u0131 sisteminize y\u00fckleyecektir. Kurulum tamamland\u0131\u011f\u0131nda, MariaDB servisi otomatik olarak ba\u015flayacakt\u0131r.<\/li>\n<li><strong>MariaDB G\u00fcvenlik Yap\u0131land\u0131rmas\u0131:<\/strong> Kurulumdan sonra, veritaban\u0131 sunucunuzun g\u00fcvenli\u011fini art\u0131rmak i\u00e7in bir g\u00fcvenlik beti\u011fi \u00e7al\u0131\u015ft\u0131rmak iyi bir uygulamad\u0131r:\n<pre><code>\nsudo mysql_secure_installation\n<\/code><\/pre>\n<p>            Bu betik size birka\u00e7 soru soracakt\u0131r:<\/p>\n<ul>\n<li><strong>Root parolas\u0131 belirleme:<\/strong> \u0130lk kurulumda genellikle bo\u015f b\u0131rak\u0131l\u0131r, Enter tu\u015funa bas\u0131n.<\/li>\n<li><strong>Yeni bir root parolas\u0131 belirleme:<\/strong> G\u00fc\u00e7l\u00fc bir parola belirlemeniz \u015fiddetle tavsiye edilir.<\/li>\n<li><strong>Anonim kullan\u0131c\u0131lar\u0131 kald\u0131rma:<\/strong> (Remove anonymous users?) -> <code>Y<\/code><\/li>\n<li><strong>Root&#8217;un uzaktan giri\u015fini engelleme:<\/strong> (Disallow root login remotely?) -> <code>Y<\/code><\/li>\n<li><strong>Test veritaban\u0131n\u0131 kald\u0131rma:<\/strong> (Remove test database and access to it?) -> <code>Y<\/code><\/li>\n<li><strong>Ayr\u0131cal\u0131k tablolar\u0131n\u0131 yeniden y\u00fckleme:<\/strong> (Reload privilege tables now?) -> <code>Y<\/code><\/li>\n<\/ul>\n<p>            Bu ad\u0131mlar, MariaDB kurulumunuzu daha g\u00fcvenli hale getirecektir.<\/li>\n<li><strong>Yeni Bir Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma:<\/strong> PHP uygulaman\u0131z i\u00e7in \u00f6zel bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015fturmak, g\u00fcvenlik ve organizasyon a\u00e7\u0131s\u0131ndan iyi bir yakla\u015f\u0131md\u0131r. Root kullan\u0131c\u0131s\u0131 yerine uygulaman\u0131za \u00f6zel bir kullan\u0131c\u0131 kullanmak, yetkilendirme kontrol\u00fcn\u00fc art\u0131r\u0131r.\n<p>MariaDB komut istemcisine root olarak giri\u015f yap\u0131n:<\/p>\n<pre><code>\nsudo mysql -u root -p\n<\/code><\/pre>\n<p>            Parolan\u0131z\u0131 girin (\u00f6nceki ad\u0131mda belirledi\u011finiz). Komut istemine girdikten sonra a\u015fa\u011f\u0131daki SQL komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n. \u00d6rnek olarak, <code>proje_db<\/code> ad\u0131nda bir veritaban\u0131 ve <code>proje_user<\/code> ad\u0131nda bir kullan\u0131c\u0131 olu\u015fturaca\u011f\u0131z. <code>'sifreniz'<\/code> k\u0131sm\u0131n\u0131 g\u00fc\u00e7l\u00fc bir parola ile de\u011fi\u015ftirin:<\/p>\n<pre><code>\nCREATE DATABASE proje_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'proje_user'@'localhost' IDENTIFIED BY 'sifreniz';\nGRANT ALL PRIVILEGES ON proje_db.* TO 'proje_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;\n<\/code><\/pre>\n<p>            Bu komutlar:<\/p>\n<ul>\n<li>Yeni bir veritaban\u0131 olu\u015fturur (<code>proje_db<\/code>).<\/li>\n<li><code>localhost<\/code>&#8216;tan eri\u015febilen yeni bir kullan\u0131c\u0131 olu\u015fturur (<code>proje_user<\/code>).<\/li>\n<li>Bu kullan\u0131c\u0131ya <code>proje_db<\/code> veritaban\u0131 \u00fczerinde t\u00fcm ayr\u0131cal\u0131klar\u0131 verir.<\/li>\n<li>Ayr\u0131cal\u0131k tablolar\u0131n\u0131 g\u00fcnceller.<\/li>\n<li>MariaDB istemcisinden \u00e7\u0131kar.<\/li>\n<\/ul>\n<\/li>\n<li><strong>PHP&#8217;den MySQL Ba\u011flant\u0131s\u0131n\u0131 Test Etme:<\/strong> Basit bir PHP beti\u011fi ile veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 test edebilirsiniz. \u00d6rne\u011fin, <code>\/var\/www\/html\/db_test.php<\/code> ad\u0131nda bir dosya olu\u015fturun:\n<pre><code>\nsudo nano \/var\/www\/html\/db_test.php\n<\/code><\/pre>\n<p>            A\u015fa\u011f\u0131daki kodu yap\u0131\u015ft\u0131r\u0131n, kullan\u0131c\u0131 ad\u0131, parola ve veritaban\u0131 ad\u0131n\u0131 kendi belirlediklerinizle de\u011fi\u015ftirin:<\/p>\n<pre><code>\n&lt;?php\n$servername = \"localhost\";\n$username = \"proje_user\"; \/\/ Olu\u015fturdu\u011funuz kullan\u0131c\u0131 ad\u0131\n$password = \"sifreniz\"; \/\/ Olu\u015fturdu\u011funuz parola\n$dbname = \"proje_db\"; \/\/ Olu\u015fturdu\u011funuz veritaban\u0131 ad\u0131\n\n\/\/ Veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 olu\u015fturma\n$conn = new mysqli($servername, $username, $password, $dbname);\n\n\/\/ Ba\u011flant\u0131y\u0131 kontrol etme\nif ($conn->connect_error) {\n    die(\"Ba\u011flant\u0131 hatas\u0131: \" . $conn->connect_error);\n}\necho \"Veritaban\u0131na ba\u015far\u0131yla ba\u011fland\u0131!\";\n$conn->close();\n?&gt;\n<\/code><\/pre>\n<p>            Taray\u0131c\u0131n\u0131zda <code>http:\/\/localhost\/db_test.php<\/code> adresine gidin. &#8220;Veritaban\u0131na ba\u015far\u0131yla ba\u011fland\u0131!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz. Bu, PHP&#8217;nin MariaDB ile ba\u015far\u0131l\u0131 bir \u015fekilde ileti\u015fim kurabildi\u011fini g\u00f6sterir. Testten sonra bu dosyay\u0131 silmeyi unutmay\u0131n:<\/p>\n<pre><code>\nsudo rm \/var\/www\/html\/db_test.php\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Bu ad\u0131mlarla, yerel geli\u015ftirme ortam\u0131n\u0131z\u0131n temel bile\u015fenleri olan PHP 7.4, Apache2 ve MariaDB ba\u015far\u0131yla kurulmu\u015f ve yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r. Art\u0131k dinamik web uygulamalar\u0131 geli\u015ftirmeye ba\u015flayabilir ve bunlar\u0131 yerel makinenizde test edebilirsiniz. Bu yap\u0131land\u0131rma, web geli\u015ftirme projeleriniz i\u00e7in sa\u011flam bir temel sunar ve size tam kontrol sa\u011flar. \u0130leri d\u00fczey geli\u015ftirme i\u00e7in baz\u0131 ek ara\u00e7lar\u0131 ve ipu\u00e7lar\u0131n\u0131 bir sonraki b\u00f6l\u00fcmde ele alaca\u011f\u0131z.<\/p>\n<h2>Verimli ve G\u00fcvenli Bir PHP Geli\u015ftirme Ortam\u0131 \u0130\u00e7in \u0130pu\u00e7lar\u0131 Nelerdir?<\/h2>\n<p>Temel PHP 7.4, Apache ve MariaDB kurulumunu tamamlad\u0131ktan sonra, geli\u015ftirme ortam\u0131n\u0131z\u0131 daha verimli, g\u00fcvenli ve esnek hale getirecek baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalar\u0131 ke\u015ffetmek faydal\u0131 olacakt\u0131r. Bu ipu\u00e7lar\u0131, geli\u015ftirme s\u00fcrecinizi h\u0131zland\u0131rabilir, hata ay\u0131klamay\u0131 kolayla\u015ft\u0131rabilir ve projelerinizin kalitesini art\u0131rabilir. Modern web geli\u015ftirme, sadece kod yazmaktan ibaret de\u011fildir; ayn\u0131 zamanda ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00f6netmek, hatalar\u0131 bulmak ve d\u00fczeltmek, kod versiyonlar\u0131n\u0131 takip etmek ve farkl\u0131 ortamlar aras\u0131nda tutarl\u0131l\u0131k sa\u011flamak gibi bir\u00e7ok s\u00fcreci de i\u00e7erir. Bu b\u00f6l\u00fcmde ele alaca\u011f\u0131m\u0131z ara\u00e7lar ve y\u00f6ntemler, bu s\u00fcre\u00e7leri optimize etmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<ol>\n<li><strong>Xdebug ile Hata Ay\u0131klama:<\/strong>\n<p>Xdebug, PHP uygulamalar\u0131n\u0131zdaki hatalar\u0131 bulmak ve kod ak\u0131\u015f\u0131n\u0131 ad\u0131m ad\u0131m izlemek i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. Geli\u015ftirme s\u0131ras\u0131nda kar\u015f\u0131la\u015f\u0131lan karma\u015f\u0131k sorunlar\u0131 \u00e7\u00f6zmek i\u00e7in olduk\u00e7a g\u00fc\u00e7l\u00fc bir hata ay\u0131klay\u0131c\u0131d\u0131r. Xdebug&#8217;\u0131 kurmak i\u00e7in:<\/p>\n<pre><code>\nsudo apt install php7.4-xdebug -y\n<\/code><\/pre>\n<p>            Ard\u0131ndan, Xdebug&#8217;\u0131 PHP yap\u0131land\u0131rma dosyan\u0131zda (genellikle <code>\/etc\/php\/7.4\/apache2\/php.ini<\/code> veya <code>\/etc\/php\/7.4\/fpm\/php.ini<\/code>) etkinle\u015ftirmeniz gerekir. Dosyay\u0131 a\u00e7\u0131n:<\/p>\n<pre><code>\nsudo nano \/etc\/php\/7.4\/apache2\/php.ini\n<\/code><\/pre>\n<p>            Dosyan\u0131n sonuna a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code>\n[XDebug]\nzend_extension=xdebug.so\nxdebug.mode=develop,debug\nxdebug.start_with_request=yes\nxdebug.discover_client_host=yes\nxdebug.client_port=9003\nxdebug.idekey=\"VSCODE\" # Kulland\u0131\u011f\u0131n\u0131z IDE'ye g\u00f6re de\u011fi\u015ftirin (\u00f6rne\u011fin PHPSTORM)\n<\/code><\/pre>\n<p>            De\u011fi\u015fiklikleri kaydedip Apache&#8217;yi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code>\nsudo systemctl restart apache2\n<\/code><\/pre>\n<p>            Art\u0131k IDE&#8217;niz (Visual Studio Code, PhpStorm vb.) \u00fczerinden Xdebug ile hata ay\u0131klama yapabilirsiniz.<\/li>\n<li><strong>Composer ile Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong>\n<p>Composer, PHP i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Projenizin ihtiya\u00e7 duydu\u011fu k\u00fct\u00fcphaneleri ve paketleri kolayca y\u00f6netmenizi sa\u011flar. \u00c7o\u011fu modern PHP \u00e7er\u00e7evesi (Laravel, Symfony) ve k\u00fct\u00fcphanesi Composer&#8217;\u0131 kullan\u0131r. Composer&#8217;\u0131 kurmak i\u00e7in:<\/p>\n<pre><code>\ncurl -sS https:\/\/getcomposer.org\/installer | php\nsudo mv composer.phar \/usr\/local\/bin\/composer\n<\/code><\/pre>\n<p>            Kurulumu do\u011frulay\u0131n:<\/p>\n<pre><code>\ncomposer --version\n<\/code><\/pre>\n<p>            Art\u0131k projenizin k\u00f6k dizininde <code>composer install<\/code> komutunu kullanarak ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyebilirsiniz.<\/li>\n<li><strong>Versiyon Kontrol Sistemi (Git):<\/strong>\n<p>Git, kod de\u011fi\u015fikliklerinizi takip etmek, farkl\u0131 \u00f6zellikler \u00fczerinde \u00e7al\u0131\u015fmak ve ekip \u00fcyeleriyle i\u015fbirli\u011fi yapmak i\u00e7in end\u00fcstri standard\u0131 bir versiyon kontrol sistemidir. Yerel geli\u015ftirme ortam\u0131n\u0131zda Git kullanmak, kodunuzun g\u00fcvenli\u011fini sa\u011flar ve proje y\u00f6netimini kolayla\u015ft\u0131r\u0131r.<\/p>\n<pre><code>\nsudo apt install git -y\ngit --version\n<\/code><\/pre>\n<p>            Git&#8217;i yap\u0131land\u0131rmay\u0131 unutmay\u0131n:<\/p>\n<pre><code>\ngit config --global user.name \"Ad\u0131n\u0131z Soyad\u0131n\u0131z\"\ngit config --global user.email \"email@example.com\"\n<\/code><\/pre>\n<\/li>\n<li><strong>Ortam De\u011fi\u015fkenleri ve .env Dosyalar\u0131:<\/strong>\n<p>Veritaban\u0131 kimlik bilgileri, API anahtarlar\u0131 gibi hassas bilgileri do\u011frudan kodunuzda saklamak yerine, ortam de\u011fi\u015fkenleri veya <code>.env<\/code> dosyalar\u0131 kullanarak y\u00f6netmek daha g\u00fcvenlidir. Bu, farkl\u0131 ortamlar (geli\u015ftirme, test, \u00fcretim) aras\u0131nda kolayca ge\u00e7i\u015f yapman\u0131z\u0131 sa\u011flar ve hassas bilgilerin versiyon kontrol sistemine girmesini engeller. PHP&#8217;de Dotenv k\u00fct\u00fcphanesi gibi ara\u00e7lar bu konuda yard\u0131mc\u0131 olabilir.<\/p>\n<\/li>\n<li><strong>Mobil Uyumlu HTML \u00d6rne\u011fi (Media Query):<\/strong>\n<p>Modern web uygulamalar\u0131, farkl\u0131 ekran boyutlar\u0131na uyum sa\u011flamal\u0131d\u0131r. Geli\u015ftirme yaparken mobil uyumlulu\u011fu test etmek \u00f6nemlidir. Basit bir CSS media query \u00f6rne\u011fi:<\/p>\n<pre><code>\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"tr\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Mobil Uyumlu Sayfa&lt;\/title&gt;\n    &lt;style&gt;\n        body {\n            font-family: Arial, sans-serif;\n            margin: 20px;\n            background-color: #f4f4f4; \/* Light mode default *\/\n            color: #333;\n        }\n        .container {\n            width: 90%;\n            margin: auto;\n            padding: 20px;\n            background-color: #fff;\n            border-radius: 8px;\n            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n        }\n        h2 {\n            color: #0056b3;\n        }\n\n        \/* Mobil cihazlar i\u00e7in stil (ekran geni\u015fli\u011fi 600px ve alt\u0131) *\/\n        @media (max-width: 600px) {\n            .container {\n                width: 95%;\n                padding: 15px;\n            }\n            h2 {\n                font-size: 1.5em;\n            }\n            body {\n                background-color: #e0e0e0; \/* Mobil i\u00e7in biraz farkl\u0131 arka plan *\/\n            }\n        }\n\n        \/* Dark mode deste\u011fi *\/\n        @media (prefers-color-scheme: dark) {\n            body {\n                background-color: #222;\n                color: #eee;\n            }\n            .container {\n                background-color: #333;\n                box-shadow: 0 2px 4px rgba(255, 255, 255, 0.1);\n            }\n            h2 {\n                color: #88bbff;\n            }\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=\"container\"&gt;\n        &lt;h2&gt;Ho\u015f Geldiniz!&lt;\/h2&gt;\n        &lt;p&gt;Bu sayfa, farkl\u0131 ekran boyutlar\u0131na ve karanl\u0131k moda uyum sa\u011flamak i\u00e7in tasarlanm\u0131\u015ft\u0131r.&lt;\/p&gt;\n        &lt;p&gt;Taray\u0131c\u0131n\u0131z\u0131n pencere boyutunu de\u011fi\u015ftirerek veya karanl\u0131k mod ayar\u0131n\u0131 a\u00e7\u0131p kapatarak fark\u0131 g\u00f6zlemleyebilirsiniz.&lt;\/p&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n            <\/code><\/pre>\n<p>Bu \u00f6rnek, taray\u0131c\u0131 penceresi 600 pikselin alt\u0131na d\u00fc\u015ft\u00fc\u011f\u00fcnde farkl\u0131 bir stil uygulayan ve kullan\u0131c\u0131n\u0131n sistem temas\u0131na (light\/dark mode) g\u00f6re renkleri ayarlayan basit bir CSS media query&#8217;yi g\u00f6stermektedir. Bu, mobil uyumlu tasar\u0131mlar\u0131n nas\u0131l test edilebilece\u011fine dair temel bir fikirdir.<\/p>\n<\/li>\n<\/ol>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131 ve ara\u00e7lar, yerel geli\u015ftirme ortam\u0131n\u0131z\u0131 daha profesyonel ve verimli hale getirecektir. Hata ay\u0131klamadan ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimine, s\u00fcr\u00fcm kontrol\u00fcnden g\u00fcvenlik pratiklerine kadar, bu yakla\u015f\u0131mlar modern web geli\u015ftirme s\u00fcre\u00e7lerinin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r. Bu ara\u00e7lar\u0131 kullanarak, daha h\u0131zl\u0131 kod yazabilir, hatalar\u0131 daha kolay tespit edebilir ve projelerinizi daha g\u00fcvenli bir \u015fekilde y\u00f6netebilirsiniz. Unutmay\u0131n, iyi bir geli\u015ftirme ortam\u0131, kaliteli yaz\u0131l\u0131m\u0131n temelidir.<\/p>\n<h2>PHP 7.4 Geli\u015ftirme Ortam\u0131 Kurulumu: Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu kapsaml\u0131 makale boyunca, Ubuntu 20.04 \u00fczerinde PHP 7.4&#8217;\u00fc ve tam te\u015fekk\u00fcll\u00fc bir yerel geli\u015ftirme ortam\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 \u00f6\u011frendik. Ba\u015flang\u0131\u00e7ta sistem g\u00fcncellemelerinden ba\u015flayarak, Ondrej PPA deposunu ekledik ve PHP 7.4&#8217;\u00fcn kendisini temel eklentileriyle birlikte kurduk. Ard\u0131ndan, web uygulamalar\u0131m\u0131z\u0131 sunmak i\u00e7in Apache2 web sunucusunu yap\u0131land\u0131rd\u0131k ve PHP ile entegrasyonunu sa\u011flad\u0131k. Veri depolama ihtiya\u00e7lar\u0131m\u0131z i\u00e7in MariaDB veritaban\u0131 sunucusunu kurup g\u00fcvence alt\u0131na ald\u0131k ve PHP uygulamalar\u0131m\u0131z i\u00e7in \u00f6zel bir veritaban\u0131 ile kullan\u0131c\u0131 olu\u015fturduk. Son olarak, geli\u015ftirme s\u00fcrecimizi daha verimli ve g\u00fcvenli hale getirecek Xdebug, Composer, Git gibi ileri d\u00fczey ara\u00e7lar\u0131 ve ortam de\u011fi\u015fkenleri gibi en iyi pratikleri inceledik. Bu ad\u0131mlar\u0131n tamam\u0131, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in sa\u011flam, g\u00fcvenilir ve esnek bir yerel geli\u015ftirme ortam\u0131 olu\u015fturmak amac\u0131yla tasarlanm\u0131\u015ft\u0131r.<\/p>\n<p>Kurdu\u011fumuz bu ortam, PHP 7.4 tabanl\u0131 herhangi bir web uygulamas\u0131n\u0131 geli\u015ftirmenize, test etmenize ve hata ay\u0131klaman\u0131za olanak tan\u0131r. Ubuntu 20.04&#8217;\u00fcn LTS s\u00fcr\u00fcm\u00fcn\u00fcn sundu\u011fu kararl\u0131l\u0131k ve uzun s\u00fcreli destek sayesinde, geli\u015ftirme ortam\u0131n\u0131z\u0131n uzun s\u00fcre sorunsuz bir \u015fekilde \u00e7al\u0131\u015faca\u011f\u0131ndan emin olabilirsiniz. Modern web geli\u015ftirme pratiklerini benimseyerek ve bu makalede belirtilen ipu\u00e7lar\u0131n\u0131 uygulayarak, kod kalitenizi art\u0131rabilir, geli\u015ftirme s\u00fcre\u00e7lerinizi optimize edebilir ve projelerinizi daha h\u0131zl\u0131 bir \u015fekilde hayata ge\u00e7irebilirsiniz. Unutmay\u0131n, s\u00fcrekli \u00f6\u011frenme ve ara\u00e7lar\u0131 etkin bir \u015fekilde kullanma, ba\u015far\u0131l\u0131 bir geli\u015ftiricinin temel \u00f6zellikleridir. Bu kurulumla birlikte, PHP d\u00fcnyas\u0131na sa\u011flam bir giri\u015f yapm\u0131\u015f oldunuz. Ba\u015far\u0131lar dileriz!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ol>\n<li><strong>Neden PHP 7.4 kullanmal\u0131y\u0131m, daha yeni s\u00fcr\u00fcmler varken?<\/strong>\n<p>PHP 7.4, bir\u00e7ok mevcut projenin hala kulland\u0131\u011f\u0131 stabil ve performansl\u0131 bir s\u00fcr\u00fcmd\u00fcr. \u00d6zellikle eski kod tabanlar\u0131n\u0131 s\u00fcrd\u00fcrmeniz gerekiyorsa veya belirli bir projenin ba\u011f\u0131ml\u0131l\u0131klar\u0131 PHP 7.4&#8217;\u00fc gerektiriyorsa bu s\u00fcr\u00fcm hala olduk\u00e7a alakal\u0131d\u0131r. Performans a\u00e7\u0131s\u0131ndan PHP 5.x s\u00fcr\u00fcmlerine g\u00f6re \u00f6nemli avantajlar sunar ve bir\u00e7ok modern \u00f6zellik i\u00e7erir. Yeni projelere ba\u015flarken daha g\u00fcncel s\u00fcr\u00fcmleri (PHP 8.x) tercih etmek genellikle daha iyidir, ancak PHP 7.4&#8217;\u00fc \u00f6\u011frenmek ve kullanmak, geni\u015f bir yelpazedeki projelere uyum sa\u011flaman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<\/li>\n<li><strong>PHP-FPM nedir ve Apache ile nas\u0131l \u00e7al\u0131\u015f\u0131r?<\/strong>\n<p>PHP-FPM (FastCGI Process Manager), PHP&#8217;nin web sunucular\u0131yla daha verimli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayan bir FastCGI uygulamas\u0131d\u0131r. Geleneksel olarak Apache, <code>mod_php<\/code> mod\u00fcl\u00fc arac\u0131l\u0131\u011f\u0131yla PHP&#8217;yi do\u011frudan kendi i\u015fleminde \u00e7al\u0131\u015ft\u0131r\u0131r. Ancak PHP-FPM, PHP isteklerini ayr\u0131 bir i\u015flem havuzunda i\u015fler ve bu havuz, Apache veya Nginx gibi web sunucular\u0131yla FastCGI protokol\u00fc \u00fczerinden ileti\u015fim kurar. Bu, \u00f6zellikle y\u00fcksek trafikli sitelerde daha iyi performans ve kaynak y\u00f6netimi sa\u011flayabilir. Apache ile PHP-FPM kullanmak i\u00e7in <code>mod_proxy_fcgi<\/code> mod\u00fcl\u00fcn\u00fc etkinle\u015ftirmeniz ve Apache&#8217;yi PHP-FPM soketine istekleri y\u00f6nlendirecek \u015fekilde yap\u0131land\u0131rman\u0131z gerekir.<\/p>\n<\/li>\n<li><strong>Yerel geli\u015ftirme ortam\u0131m\u0131 ta\u015f\u0131nabilir hale getirebilir miyim?<\/strong>\n<p>Evet, kesinlikle! Yerel geli\u015ftirme ortam\u0131n\u0131z\u0131 ta\u015f\u0131nabilir hale getirmek i\u00e7in Docker veya Vagrant gibi sanalla\u015ft\u0131rma ara\u00e7lar\u0131n\u0131 kullanabilirsiniz. Docker, uygulaman\u0131z\u0131 ve t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 izole edilmi\u015f &#8220;konteynerler&#8221; i\u00e7inde paketleyerek farkl\u0131 sistemler aras\u0131nda tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Vagrant ise, sanal makineler (VirtualBox, VMware gibi) kullanarak t\u00fcm geli\u015ftirme ortam\u0131n\u0131z\u0131 tek bir yap\u0131land\u0131rma dosyas\u0131yla tan\u0131mlaman\u0131za ve kolayca yeniden olu\u015fturman\u0131za olanak tan\u0131r. Bu ara\u00e7lar, ekip \u00fcyeleri aras\u0131nda tutarl\u0131 ortamlar sa\u011flamak ve proje kurulumunu basitle\u015ftirmek i\u00e7in olduk\u00e7a faydal\u0131d\u0131r.<\/p>\n<\/li>\n<li><strong>Hangi IDE veya kod d\u00fczenleyiciyi kullanmal\u0131y\u0131m?<\/strong>\n<p>PHP geli\u015ftirme i\u00e7in bir\u00e7ok m\u00fckemmel IDE (Entegre Geli\u015ftirme Ortam\u0131) ve kod d\u00fczenleyici bulunmaktad\u0131r. En pop\u00fcler se\u00e7eneklerden baz\u0131lar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>PhpStorm:<\/strong> PHP i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f, g\u00fc\u00e7l\u00fc \u00f6zelliklere sahip profesyonel bir IDE&#8217;dir. \u00dccretlidir ancak kapsaml\u0131 hata ay\u0131klama, kod tamamlama ve refactoring yetenekleri sunar.<\/li>\n<li><strong>Visual Studio Code (VS Code):<\/strong> \u00dccretsiz ve a\u00e7\u0131k kaynakl\u0131, hafif ancak g\u00fc\u00e7l\u00fc bir kod d\u00fczenleyicidir. PHP eklentileri sayesinde tam te\u015fekk\u00fcll\u00fc bir PHP geli\u015ftirme ortam\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fclebilir.<\/li>\n<li><strong>Sublime Text:<\/strong> H\u0131zl\u0131, hafif ve son derece \u00f6zelle\u015ftirilebilir bir metin d\u00fczenleyicidir. Eklentilerle PHP geli\u015ftirme i\u00e7in de kullan\u0131labilir.<\/li>\n<\/ul>\n<p>                Se\u00e7iminiz, ki\u015fisel tercihlerinize, b\u00fct\u00e7enize ve projenizin ihtiya\u00e7lar\u0131na ba\u011fl\u0131 olacakt\u0131r.<\/li>\n<\/li>\n<li><strong>Veritaban\u0131 ba\u011flant\u0131 bilgilerini PHP kodunda saklamak g\u00fcvenli midir?<\/strong>\n<p>Hay\u0131r, veritaban\u0131 ba\u011flant\u0131 bilgileri, API anahtarlar\u0131 veya di\u011fer hassas bilgileri do\u011frudan PHP kodunda (\u00f6rne\u011fin, bir <code>.php<\/code> dosyas\u0131nda sabit kodlanm\u0131\u015f olarak) saklamak genellikle g\u00fcvenli bir uygulama de\u011fildir. Bu bilgiler, kaynak kontrol sistemine (Git gibi) yanl\u0131\u015fl\u0131kla eklenebilir veya sunucunuz ele ge\u00e7irildi\u011finde kolayca eri\u015filebilir hale gelebilir. Bunun yerine, bu t\u00fcr hassas bilgileri ortam de\u011fi\u015fkenleri (environment variables) veya <code>.env<\/code> dosyalar\u0131 gibi y\u00f6ntemlerle y\u00f6netmek \u00e7ok daha g\u00fcvenlidir. Laravel gibi \u00e7er\u00e7eveler, bu t\u00fcr bilgileri <code>.env<\/code> dosyalar\u0131nda saklama ve bunlara g\u00fcvenli bir \u015fekilde eri\u015fme mekanizmalar\u0131n\u0131 yerle\u015fik olarak sunar.<\/p>\n<\/li>\n<\/ol>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 20.04&#8217;te PHP 7.4 Kurulumu ve Geli\u015ftirme Ortam\u0131 Olu\u015fturma Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam&hellip;","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":[1468],"tags":[],"class_list":{"0":"post-41233","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?<\/title>\n<meta name=\"description\" content=\"Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam kurmak, her geli\u015ftiricinin temel ihtiya\u00e7lar\u0131ndan biridir. Ubuntu 20.\" \/>\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\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?\" \/>\n<meta property=\"og:description\" content=\"Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam kurmak, her geli\u015ftiricinin temel ihtiya\u00e7lar\u0131ndan biridir. Ubuntu 20.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-13T11:03:26+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=\"26 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?\",\"datePublished\":\"2026-03-13T11:03:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/\"},\"wordCount\":4648,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/\",\"name\":\"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-03-13T11:03:26+00:00\",\"description\":\"Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam kurmak, her geli\u015ftiricinin temel ihtiya\u00e7lar\u0131ndan biridir. Ubuntu 20.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?\"}]},{\"@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":"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?","description":"Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam kurmak, her geli\u015ftiricinin temel ihtiya\u00e7lar\u0131ndan biridir. Ubuntu 20.","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\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/","og_locale":"tr_TR","og_type":"article","og_title":"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?","og_description":"Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam kurmak, her geli\u015ftiricinin temel ihtiya\u00e7lar\u0131ndan biridir. Ubuntu 20.","og_url":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-03-13T11:03:26+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"26 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?","datePublished":"2026-03-13T11:03:26+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/"},"wordCount":4648,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/","url":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/","name":"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-03-13T11:03:26+00:00","description":"Modern web uygulamalar\u0131 geli\u015ftirmek i\u00e7in g\u00fcvenilir bir yerel ortam kurmak, her geli\u015ftiricinin temel ihtiya\u00e7lar\u0131ndan biridir. Ubuntu 20.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/web-gelistirme-dunyasinda-php-7-4-neden-hala-onemli-ve-ubuntu-20-04-neden-ideal-bir-secim\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Web Geli\u015ftirme D\u00fcnyas\u0131nda PHP 7.4 Neden Hala \u00d6nemli ve Ubuntu 20.04 Neden \u0130deal Bir Se\u00e7im?"}]},{"@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\/41233","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=41233"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41233\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}