Konular

PHP modları

Bir web sitesi oluştururken, VDS web sunucuları bunlardan birçoğunu desteklediğinden, PHP yorumlayıcı programının hangi çalışma modunu seçtiği konusunda oldukça tartışmalı bir konuyla karşılaşabilirsiniz. Makalede onların haklarını ve aleyhlerini ortaya çıkarmaya çalışacağız.

 PHP modları

1. Apache Modülü olarak Mod_php veya PHP

Bu modda, Apache ayarları, devam etmekte olan her web sunucusuna ileriye doğru entegre olan mod_php modülü uygulanarak yapılandırılır . Bu mod, en uygun mod olarak kabul edilir. Bu, çok fazla ziyaretçisi olmayan küçük web projeleri için en uygun seçimdir.

Artıları:

  • Komut dosyaları yüksek hızda çalışır
  • Önbellek özelleştirmesi verimliliği artırmak için yapılacak

Eksileri:

  • Özelleştirebileceğiniz tek bir global php.ini dosyası vardır, ancak web sitelerinizin her biri için ayrı olamaz. .Htaccess dosyasında bazı parametreleri (ancak çok azını) yeniden tanımlayabilirsiniz ;
  • Yöntem, onun adına yürütülen Apache ayrıcalıklarına sahip olduğu için yeterince güvenli değil. Altındaki PHP bir modül olarak çalıştırılsa da sadece mod_ruin ayrı kullanıcılar olarak çalışabilir;
  • Bir kullanıcının yaptığı talep ne olursa olsun, bu modül çalışan her web sunucusu işleminde yüklenecektir. Sonuç olarak, sunucu ve kaynakları aşırı yüklenebilir;
  • Web sunucusu çökmesi, komut dosyası hatalarından biri haline gelir;
  • Üçüncü taraf yazılımları çalıştıran kullanıcıyı komut dosyası aracılığıyla ortaya çıkarmak çok daha zor hale geliyor;
  • Çok iş parçacıklı Apache çalışan (MPM Worker) bazı PHP modüllerini desteklemeyebilir.

2. PHP'nin CGI modu

İşleyici olarak CGI kullanan PHP ve diğer betikler , bu modda php-cgi yorumlayıcısı aracılığıyla çalışıyor . Web siteniz çoğunlukla statik verilerle uğraşıyorsa ve nadiren PHP çalıştırıyorsa, bu mod sizin için en iyi çözümdür. PHP'nin sadece istendiğinde çalıştırılması RAM'i büyük ölçüde kurtarır. Ancak PHP yorumlayıcı RAM'e indirildiği için PHP'nin bu şekilde çalışması çok daha uzundur.

Artıları:

  • Sistemin herhangi bir kullanıcısı Suexec uygulamaları içinde CGI işleyicisini çalıştırabilir ;
  • Her kullanıcı kendi ihtiyaçlarına göre PHP yapılandırmasını özelleştirebilir;
  • RAM, yalnızca gerektiğinde CGI çalıştırmak için kullanılır;
  • PHP bu kipte ayrı bir işlem olduğundan, betiklerin web sunucusunun çökmesine neden olma ihtimali çok azdır;
  • Farklı istemciler farklı PHP sürümlerini çalıştırabilir.

Eksileri:

  • Düşük verimlilik seviyesi.
  • Başlık komutu, PHP'nin yetkilendirilmesinde sınırlıdır. Sınırlama, komut dosyasının sunucunun çeşitli değişkenlerini alamamasından kaynaklanır.

3. SuPHP

Bu mod, PHP yorumlayıcısının CGI modülü olarak çalışmasını varsayar.

Artıları:

  • Sahipleri çalıştırdıkça bunu veya bu PHP betiğini kimin çalıştırdığını her zaman tespit edebilirsiniz;
  • Komut dosyasının sahibi değilseniz, onu çalıştırmayacaksınız;
  • Sunucuya dosya yüklerken, kullanıcı haklarını onlara aktarır.

Eksileri:

  • Bu mod, işlemci üzerinde CGI'dan daha fazla yüke sahiptir, ancak yine de oldukça azdır;
  • APC, XCache vb. Gibi önbellek seçenekleri mevcut değildir.

4. FastCGI modunda Mod_fastcgi veya PHP

FastCGI modunun özellikleri onu mod_php ve CGI modları arasında mutlu bir ortam haline getirir . Zayıf noktaları olmasa da tüm CGI erdemlerini bünyesinde barındırır. Having FastCGI koşmak, RAM sürekli çalışan işleyici işlem tarafından tüketilmektedir. Bu nedenle, CGI'nin yaptığı gibi her istek için yeni bir işlem yürütmeye gerek yoktur. Yanıt hızı mod_php'nin hızına eşittir .

Aşağıdakiler gibi biraz daha fazla yarar vardır:

  • Önbellek özelleştirme üretkenliği artıracaktır;
  • Yalnızca komut dosyasının sahibi çalıştırabilir;
  • FastCGI , yorumlayıcıyı yeniden başlatmadan önce sunucu isteklerinin sayısını tanımlayarak bekleme riskini azaltmayı amaçlayan bir değişkene sahiptir.

Ancak yine de bazı dezavantajlar vardır:

  • Kalıcı olarak çalışan işlemci php_cgi , kullanılabilir istek ne olursa olsun RAM'i yükler.
  • Mod_php'de olduğundan daha az RAM vardır ve statik içerik PHP yorumlayıcısına erişmeden yayılır.

5. Mevcut PHP modunuzu nerede arayacaksınız?

1) phpinfo () işlevini kullanabilirsiniz

Sunucunuzda aşağıdaki kodla bir dosya (örn. File.php ) oluşturun :

<? php
phpinfo ();
?>

Şimdi değişiklikleri kaydedin ve bir tarayıcıda bu dosyayı açın. PHP sürümü ve parametrelerinin bilgilerini içeren bir sayfa alacaksınız. Parametreler arasında mevcut PHP modunu tanımlayan Sunucu API'sini bulabilirsiniz . İşte bir örnek:

PHP modları

2) php_sapi_name () kullanabilirsiniz

Sunucunuzda aşağıdaki kodla bir dosya (örn. File.php ) oluşturun :

<? php
$ sapi = php_sapi_name ();
echo $ sapi;
?>

Şimdi değişiklikleri kaydedin ve bir tarayıcıda bu dosyayı açın. Mevcut PHP modu adınızı gösteren sayfayı alacaksınız. İşte bir örnek:

PHP modları

PHP modları

Bir web sitesi oluştururken, VDS web sunucuları bunlardan birçoğunu desteklediğinden, PHP yorumlayıcı programının hangi çalışma modunu seçtiği konusunda oldukça tartışmalı bir konuyla karşılaşabilirsiniz. Makalede onların haklarını ve aleyhlerini ortaya çıkarmaya çalışacağız.

1. Apache Modülü olarak Mod_php veya PHP

Bu modda, Apache ayarları, devam etmekte olan her web sunucusuna ileriye doğru entegre olan mod_php modülü uygulanarak yapılandırılır . Bu mod, en uygun mod olarak kabul edilir. Bu, çok fazla ziyaretçisi olmayan küçük web projeleri için en uygun seçimdir.

Artıları:

  • Komut dosyaları yüksek hızda çalışır
  • Önbellek özelleştirmesi verimliliği artırmak için yapılacak

Eksileri:

  • Özelleştirebileceğiniz tek bir global php.ini dosyası vardır, ancak web sitelerinizin her biri için ayrı olamaz. .Htaccess dosyasında bazı parametreleri (ancak çok azını) yeniden tanımlayabilirsiniz ;
  • Yöntem, onun adına yürütülen Apache ayrıcalıklarına sahip olduğu için yeterince güvenli değil. Altındaki PHP bir modül olarak çalıştırılsa da sadece mod_ruin ayrı kullanıcılar olarak çalışabilir;
  • Bir kullanıcının yaptığı talep ne olursa olsun, bu modül çalışan her web sunucusu işleminde yüklenecektir. Sonuç olarak, sunucu ve kaynakları aşırı yüklenebilir;
  • Web sunucusu çökmesi, komut dosyası hatalarından biri haline gelir;
  • Üçüncü taraf yazılımları çalıştıran kullanıcıyı komut dosyası aracılığıyla ortaya çıkarmak çok daha zor hale geliyor;
  • Çok iş parçacıklı Apache çalışan (MPM Worker) bazı PHP modüllerini desteklemeyebilir.

2. PHP'nin CGI modu

İşleyici olarak CGI kullanan PHP ve diğer betikler , bu modda php-cgi yorumlayıcısı aracılığıyla çalışıyor . Web siteniz çoğunlukla statik verilerle uğraşıyorsa ve nadiren PHP çalıştırıyorsa, bu mod sizin için en iyi çözümdür. PHP'nin sadece istendiğinde çalıştırılması RAM'i büyük ölçüde kurtarır. Ancak PHP yorumlayıcı RAM'e indirildiği için PHP'nin bu şekilde çalışması çok daha uzundur.

Artıları:

  • Sistemin herhangi bir kullanıcısı Suexec uygulamaları içinde CGI işleyicisini çalıştırabilir ;
  • Her kullanıcı kendi ihtiyaçlarına göre PHP yapılandırmasını özelleştirebilir;
  • RAM, yalnızca gerektiğinde CGI çalıştırmak için kullanılır;
  • PHP bu kipte ayrı bir işlem olduğundan, betiklerin web sunucusunun çökmesine neden olma ihtimali çok azdır;
  • Farklı istemciler farklı PHP sürümlerini çalıştırabilir.

Eksileri:

  • Düşük verimlilik seviyesi.
  • Başlık komutu, PHP'nin yetkilendirilmesinde sınırlıdır. Sınırlama, komut dosyasının sunucunun çeşitli değişkenlerini alamamasından kaynaklanır.

3. SuPHP

Bu mod, PHP yorumlayıcısının CGI modülü olarak çalışmasını varsayar.

Artıları:

  • Sahipleri çalıştırdıkça bunu veya bu PHP betiğini kimin çalıştırdığını her zaman tespit edebilirsiniz;
  • Komut dosyasının sahibi değilseniz, onu çalıştırmayacaksınız;
  • Sunucuya dosya yüklerken, kullanıcı haklarını onlara aktarır.

Eksileri:

  • Bu mod, işlemci üzerinde CGI'dan daha fazla yüke sahiptir, ancak yine de oldukça azdır;
  • APC, XCache vb. Gibi önbellek seçenekleri mevcut değildir.

4. FastCGI modunda Mod_fastcgi veya PHP

FastCGI modunun özellikleri onu mod_php ve CGI modları arasında mutlu bir ortam haline getirir . Zayıf noktaları olmasa da tüm CGI erdemlerini bünyesinde barındırır. Having FastCGI koşmak, RAM sürekli çalışan işleyici işlem tarafından tüketilmektedir. Bu nedenle, CGI'nin yaptığı gibi her istek için yeni bir işlem yürütmeye gerek yoktur. Yanıt hızı mod_php'nin hızına eşittir .

Aşağıdakiler gibi biraz daha fazla yarar vardır:

  • Önbellek özelleştirme üretkenliği artıracaktır;
  • Yalnızca komut dosyasının sahibi çalıştırabilir;
  • FastCGI , yorumlayıcıyı yeniden başlatmadan önce sunucu isteklerinin sayısını tanımlayarak bekleme riskini azaltmayı amaçlayan bir değişkene sahiptir.

Ancak yine de bazı dezavantajlar vardır:

  • Kalıcı olarak çalışan işlemci php_cgi , kullanılabilir istek ne olursa olsun RAM'i yükler.
  • Mod_php'de olduğundan daha az RAM vardır ve statik içerik PHP yorumlayıcısına erişmeden yayılır.

5. Mevcut PHP modunuzu nerede arayacaksınız?

1) phpinfo () işlevini kullanabilirsiniz

Sunucunuzda aşağıdaki kodla bir dosya (örn. File.php ) oluşturun :

<? php
phpinfo ();
?>

Şimdi değişiklikleri kaydedin ve bir tarayıcıda bu dosyayı açın. PHP sürümü ve parametrelerinin bilgilerini içeren bir sayfa alacaksınız. Parametreler arasında mevcut PHP modunu tanımlayan Sunucu API'sini bulabilirsiniz . İşte bir örnek:

PHP modları

2) php_sapi_name () kullanabilirsiniz

Sunucunuzda aşağıdaki kodla bir dosya (örn. File.php ) oluşturun :

<? php
$ sapi = php_sapi_name ();
echo $ sapi;
?>

Şimdi değişiklikleri kaydedin ve bir tarayıcıda bu dosyayı açın. Mevcut PHP modu adınızı gösteren sayfayı alacaksınız. İşte bir örnek:

PHP modları

 

Kaynak

Yorumunuzu Ekleyin

WinBinder İncelenmesi

WinBinder indirmek ve yüklemek , WinBinder Yapısı Hakkında Bilgiler , WinBinder Örnekleri , WinBinderda Klaslar ve Fonksiyonlar

181,293 Okunma Henüz yorum yapılmamış 15/01/2008 00:58:13

Kurallı İfadeler (regex Engine)

Bir regex'in gerçekte nasıl çalıştığını bilmek daha efektif çalışan regex ifadeleri oluşturmamızı ve regex'leri daha isabetli oluşturmamızı sağlar. Bu yazımızda oluşturduğunuz regex ifadelerinin neden beklediğiniz sonuçları vermediğini ve umduğunuz eşleşmeleri yerine getirmediğini öğreneceksiniz. Bu da bizim tabir yerindeyse daha az kafa patlatmamızı ve daha az zaman harcamamızı sağlayacaktır.

46,687 Okunma 1 Yorum 14/07/2007 05:23:11

PHP ile PDF dosya oluşturmak

Php ile yeni bir pdf dosyası oluşturmak : Öncelikle php ile pdf işlemleri yapmak için bir pdf kütüphanesine ihtiyacınız olacak

38,452 Okunma Henüz yorum yapılmamış 06/09/2007 01:22:38

Nesneye Yönelimli Php

Classlarla ilgili ingilizce bir makale

38,075 Okunma Henüz yorum yapılmamış 06/01/2008 11:24:59

PHP nedir?

HTML kodlarının arasına yerleştirilmiş php kodlarından ayrıştırıp işleyerek sonuçta saf HTML formatında bir çıktı üretmek ve Web sunucusuna iletmektir.

37,094 Okunma Henüz yorum yapılmamış 26/09/2011 14:50:52

$_FILES

Örnek kod ve açıklamalar

36,648 Okunma 4 Yorum 30/12/2007 13:36:25

Php ile Oturum Yönetimi (SESSION)

Türkçesi oturum anlamına gelen session bilgilerin saklanması için kullanılan mantıksal bir nesnedir.Session oturum yönetimini kullanarak şifreli sayfalar oluşturarak ve bu sayfaları belirlediğiniz kullanıcıların görmesini sağlayabilirsiniz.

30,371 Okunma Henüz yorum yapılmamış 22/05/2013 16:29:40 22/05/2013 16:29:55

$_SERVER

$_SERVER host bilgileri, header bilgileri, yollar ve script yolları gibi bilgileri içeren bir dizidir. Bu dizideki değerler web server tarafından üretilir. Tüm server yazılımlarının, tüm değerleri atayacağına dair bir kesinlik yoktur. Yazılım bazılarını atamayabilir, veyahut burada anlatılacak değerlerin haricinde değerler ekleyebilir

29,731 Okunma Henüz yorum yapılmamış 23/10/2007 00:51:55

Oop - Nesne Yönelimli Programlama

Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne kadar. Bu makale de onlardan biri

29,403 Okunma 1 Yorum 06/01/2008 11:26:55

Xampp Kurulumu

Xampp apache, mysql, php ve phpmyadmin için kolay ve basit kurulum sağlayan bir uygulamadır.

28,248 Okunma Henüz yorum yapılmamış 19/12/2011 10:00:36

Php İle Excel Dosyası Oluşturmak

Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka bir tabloyu excel ortamına aktarmak için csv yöntemini kullanırım. Bu yöntem herkesin bildiği gibi, her sütunu tab ya da noktalı virgül gibi bir karakterle ve her satırı da enter karakteri ile bölmekten ibaret. Ama biçimlendirme söz konusu olduğunda, mesela sütunlara bir genişlik vermek, yazıları bold yapmak, bazı hücreleri sayı ya da para tipine çevirmek gibi biçimlendirmelerde bu yöntem işe yaramamakta.

27,548 Okunma 1 Yorum 22/07/2008 01:35:17

Verileri doğrulamak için PHP ile filtreleme işlemleri

Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı yaratmayalım. E-postaları, web adreslerini, bilgi girişlerini ve dahasını Her birine uygun farklı fonksiyonlar yazıldı bu vakte kadar. Ancak PHP 5.2.0 ve üstü sürümlerde bu fonksiyonlara gereksinim azaldı. Çünkü PHP filtreleme fonksiyonları standart oldu.

27,314 Okunma Henüz yorum yapılmamış 02/12/2008 04:19:24

$_ENV

26,997 Okunma Henüz yorum yapılmamış 31/12/2007 09:46:00

En iyi 25 php template motoru

Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gelir bu kodları düzenlemek istediğimizde çok büyük bir çaba gerektirir. Bu tarz durumlarla başa çıkabilmek için ve daha kararlı bir sistem kodlamak için tema sistemleri geliştirebilirsiniz. Tema sistemi ya da motorlarının asıl amacı, php kodları ile html kodlarını birbirinden ayırmaktır. Böylece hangi kod üzerinde değişiklik yapmanız gerekiyorsa, kendisine ait dosyalarını açarak bu işlemi gerçekleştirebilirsiniz

26,953 Okunma Henüz yorum yapılmamış 16/02/2008 01:35:10

Php Mysql to XML

Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.

26,217 Okunma Henüz yorum yapılmamış 05/10/2008 01:56:47

Dizi Tanımlamaları

PHP’de array tanımlayıcısını kullanarak içerisinde elemanları yerleştirmek yoluyla ya da index numarasını köşeli parantezler içerisinde belirterek atama yaparak dizi oluşturmak mümkündür

25,895 Okunma Henüz yorum yapılmamış 23/10/2007 00:36:18

Harici Dosya İnclude

İnclude kullanımı ve örnekler

25,718 Okunma Henüz yorum yapılmamış 14/04/2008 01:42:12

$_REQUEST

$_GET, $_POST, ve $_COOKIE değişkenlerini içeriğinden meydana gelen çağrışımlı bir dizidir. Bu değişken bir superglobal olduğu için tüm alanlarda (scope) geçerlidir ve bundan dolayıdır ki global $_REQUEST ; şeklinde bir tanımlamaya ihtiyaç duymaz. Eğer register_globals değişkeni php. İni de ayarlanmışsa bu değişken her yerde (Global Scope) kullanılabilir

25,232 Okunma Henüz yorum yapılmamış 24/12/2007 00:16:58

Yükleniyor...