Unix Sistemlere Kurulum

İçindekiler

Bu bölümde, PHP'nin Unix sistemleri üzerindeki yapılandırmasından ve kurulumundan ana hatları ile bahsedilecektir. Kuruluma başlamadan önce platformunuza ve kullandığınız HTTP sunucusuna özgü bölümleri incelemenizi öneririz.

Kılavuzun Genel Kurulum Değerlendirmesi bölümünde ana hatlarıyla bahsettiğimiz gibi, bu bölümde esas olarak HTTP sunucusunu ilgilendiren ayarlardan bahseceksek de PHP'nin komut satırından kullanımı ile ilgili ayarlara da değineceğiz.

PHP'yi Unix platformlarına kurmanın çeşitli yolları vardır. Kaynak kod paketinden kendiniz derleyip kurabileceğiniz gibi başkaları tarafından derlenip paketlenmiş sürümleri de kurabilirsiniz. Bu belgelerde esas olarak kaynak kod paketinden derleme, kurulum ve yapılandırma sürecinden bahsedeceğiz. Çoğu Unix benzeri sistemin kendine özgü paket kurulum yöntemi vardır. Bu, standart yapılandırmaya yardımcı olabilirse de farklı özelliklere ihtiyaç duyduğunuzda (örneğin, güvenli sunucu veya veritabanı sunucusu), HTTP sunucunuzu ve PHP'yi kendiniz derlemek zorunda kalırsınız. Yazılımları kendiniz derleyip kuracak bilgiye sahip değilseniz, sizin istediğiniz özelliklerde başkaları paket derlemiş mi diye bir araştırma yapmanızı öneririz.

Derleme işlemi için gerekli bilgi ve yazılımlar:

  • Temel Unix kullanım bilgisi ("make" komutunu ve bir C derleyicisini kullanabiliyor olmak)
  • Bir ANSI C derleyici
  • Bir HTTP sunucusu
  • Modüllere özgü bileşenler (GD, PDF kütüphaneleri, vs.)

Git kaynaklarıdan derlerken veya özel değişiklikler yaptıktan sonra şunlar da gerekebilir:

  • autoconf: 2.59+ (PHP >= 7.0.0 için), 2.64+ (PHP >= 7.2.0 için)
  • automake: 1.4+
  • libtool: 1.4.x+ (1.4.2 hariç)
  • re2c: 0.13.4+
  • bison:
    • PHP 7.0 - 7.3: 2.4 ve sonrası (Bison 3.x dahil)
    • PHP 7.4: > 3.0

PHP kaynak kod paketinin derleme için ayar ve yapılandırma işlemi configure betiğinin komut satırı seçenekleri kullanılarak yapılır. Bu seçeneklerin neler olduğunu görmek için kaynak paketinin kök dizininde komut satırından ./configure --help komutunu verebilirsiniz. Ayrıca, bu kılavuzda da bazı seçeneklerin açıklamalarına yer verilmiştir. Temel yapılandırma seçeneklerini eklerde bulabilirsiniz. Eklentilere özgü yapılandırma seçenekleri ise eklentilerin kılavuzdaki belgelerinde bulunabilir.

PHP'yi yapılandırdığınızda modülleri ve çalıştırılabilirleri derlemeye hazırsınız demektir. Artık make komutunu verebilirsiniz. Derleme işlemi bir noktada başarısız olursa ve bunun sebebini anlayamazsanız, Sorunlar bölümüne bakınız.

Bilginize:

Bazı Unix sistemleri (OpenBSD ve SELinux gibi), PaX MPROTECT veya W^X ihlal koruması olarak adlandırılan koruma, güvenlik nedenleriyle hem yazılabilir hem de çalıştırılabilir eşleme sayfalarına izin vermeyebilir. Bununla birlikte, bu tür bir bellek eşlemesi PCRE'nin JIT desteği için gereklidir, bu nedenle ya PHP'nin PCRE JIT desteği olmadan kurulması ya da ikili sistemin sistem tarafından sağlanan herhangi bir yolla beyaz listeye alınması gerekir.

Bilginize: ARM için Android araç zinciriyle çapraz derleme şu anda desteklenmemektedir.

add a note add a note

User Contributed Notes 1 note

up
38
cj3 at clifjackson dot net
6 years ago
I recently ran in to a situation where I was building PHP 7.1.13 from source. Configuration & make went fine, however, when I ran make install it hung. It turns out that if you are building PHP with Apache (apxs) the make file calls apxs with the -a flag which tells it to modify the httpd.conf file. If, for whatever reason, the file is not writeable then it fails and you get the hang.

Line 108 in my Makefile looks like this:

INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/usr/lib64/httpd/modules' && $(mkinstalldirs) '$(INSTALL_ROOT)/etc/httpd/conf' && /usr/sbin/apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/lib64/httpd/modules'      -S SYSCONFDIR='$(INSTALL_ROOT)/etc/httpd/conf' -i -a -n php7 libphp7.la

I had to remove the -a flag and then it was fine.
To Top