php


Apache sunucunun Linux tabanlı bir sunucuda php destekli derlenmesi ve yapılandırılması öncesinde bir takım tedbirlerin alınması gerekiyor;


*Eğer daha önce rpm paketleri olarak apache sunucu php destekli kurulmuşsa bu paketlerin kaldırılması gerekir. Aşağıda kurulu olan rpm paketlerinin tam ismi alınıyor.

rpm -qa | grep apache

rpm -qa | grep php

rpm -e php-x.x.x.rpm ile php paketi silinir.

rpm -e Apache_1.x.x.rpm apache paketi silinir; varsa apache paketine bagimli diger paketler de ayni yolla silinir.

*Apache sunucunun yerleştirileceği dizin belirlenir ve php’nin apache sunucuya DSO olarak mı yoksa modül olarak mı derleneceğine karar verilir. (DSO destekli olması için önce apache derlenir; php daha sonra derlenir)

Kaynak: phpkaynak.com

Php’nin çok geniş yetenekleri mevcuttur. Bunları sıralamak gerekirse;

*Unix, Win32, QNX, Mac, OS/2 platformlarında çalışabilir,
*Sunucu Arabirimi olarak;

****CGI,
****fhttpd modülü,
****Apache modülü

*Bir CGI programının veri toplama, dinamik sayfa içerikleri yükleme, cookie alma, gönderme gibi *yapabilecegi herşeyi yapar,
*Network soketleri açabilir, diğer protokoller ile etkileşimde bulunabilirsiniz,
*PHP’nin en önemli özelliği çok geniş yelpazede VTYS’leri desteklemesidir.

Veri Tabanları

*SQL

****Adabas
****Empress
****IBM DB2
****Interbase
****mSQL
****mySQL
****ODBS
****Oracle
****Postgresql
****Solid
****Sybase

*Diğerleri

****dBase
****filePro
****dbm

*Apache Web Sunucuya özgü işlevler,
*Matematiksel işlevler,
*Tarih ve Zaman işlevleri,
*Sıkıştırmaya özgü işlevleri,
*Veri Kodlamaya özgü işlevleri,
*Kütük yapısı işlevleri,
*Grafik işlevleri,
*FTP, HTTP, URL, Mail işlevleri,
*IMAP, NIS, LDAP işlevleri,
*SNMP,
*Semaforlara ve ayrılmış belleğe özgü işlevler,
*PDF işlevleri,
*Oturum yönetimine (Session Handling) özgü işlevleri,
*Katar (String) islevleri

Php’nin diğer betik dillerinden farkı mevcuttur. Bunlar;
PHP’nin JavaScript gibi istemci tarafına hitap eden betik dillerinden en önemli tarafı sunucu tarafından yorumlanmasıdır.

PHP’de istemcinin istediği betiğin söz dizimi JavaScript’deki gibi HTML kodunun içerisinde görünmez.
PHP’nin Perl gibi betik dillerinden en önemli farkı HTML içine gömülebilmesidir.Aşağıdaki kod parçaları bunu en iyi şekilde örnekler.
HTML içine gömülmüş php betiği parçası

<HTML><HEAD>
<TITLE>Arama Sonucu :<?php print $query; ?>
</TITLE></HEAD>

</UL>

PERL ile yazılmış aynı işi gören betik parçası

#!/usr/bin/perl

print “<HTML><HEAD>\n”;
print ” <TITLE>Arama Sonucu: \”$query\”</TITLE>\n”;
print “</HEAD>\n”;

Web sunucuya php betiği ile ilgili bir istem geldiğinde, web sunucunu bunu disk üzerinden kütük yönetim sistemini kullanarak alıp apache sunucunun mod_php modülünü kullanarak php betiği yorumlanır ve çıktısı web tarayıcıya geri gönderilir.

HTML kodu içerisine gömülebilir,
Web Sunucu tarafından yorumlanır,
Taşınabilir,
JavaScript, C, Perl dillerinden ilham alınarak yapılmıştır,

<html>

<head>

<title>Example</title>

</head>

<body>

<? echo “Merhaba ben bir PHP betigiyim”; ?>

</body>

</html>

Burada PHP, HTML kodu içerisinde “<?” ve “?>” etiketleri arasına gömülmüş; “<?” işaretleri ile PHP betiğine atlanacaği, “?>”; işaretleri ile de PHP betiğinin sonlandığı belirtilmiştir.