Ne anlama geliyor: php include_path anlamı?


10

Zend'i xampp çalıştıran bir makineye kurmaya çalışıyorum. Zend'in yardım dosyası, komut satırı araçlarını ayarlamak için, / library dizininin içeriğinin php include_path belirtilen dizinimin içine yerleştirildiğinden emin olmam gerektiğini söylüyor.

Benim php.ini baktığınızda, include_path yorumlanır, ancak değer şöyle görünür:

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"

İnclude_path tam olarak nereye işaret ediyor? Linux için oldukça yeniyim ve daha önce hiç görmedim.: Bir dosya yolunun parçası olarak.


2
Sen "bir makine çalıştıran xampp" Sen Ubuntu bir paket olduğu yerine lamba-sunucu çıkarın ve yüklemek isteyebilirsiniz sözü
Marco Ceppi

1
Neden? xampp mükemmel çalışır.
EmmyS

2
Ubuntu'nun lamba sunucusu meta paketi (görevler → LAMP Sunucusu), ubuntu ile özellikle iyi çalışacak şekilde uyarlanmış lamba yığınının bir dağılımıdır . Elbette xampp'i kullanabilirsiniz - ve iyi çalışır, ancak Ubuntu'nun dağıtımı (sürümü) önerilir (ve kanonik kurumsal desteğini kullanmak istiyorsanız gereklidir).
Stefano Palazzo

Yanıtlar:


4

: dizinler listesindeki bir ayırıcıdır.

. geçerli dizin anlamına gelir

Yani bir php betiği bir içerme dosyası ararken, onu php dosyası ve / php / include ile aynı dizine bakar.


Yani yol şu anda iki dizin dahil - şu anki (hangi php.ini içeren dizin demek istediğinizi varsayalım) ve / php / içerir? / Php / include nerede (bu yol söz konusu olduğunda)? Geçerli dizinin içinde mi? Veya başka bir yerde?
EmmyS

Neredeyse, . php.ini değil, her bir php dosyasına göre geçerli dizindir. / php / include, dosya sisteminizde en üst düzey bir 'php' klasörü (/ usr, / etc ile aynı düzeyde) bekleyen mutlak bir yoldur
misterben

7

.:aslında sadece .( :birden çok yolu ayıran anahtar kelime olduğu için) komut dosyasının yürütülmekte olduğu geçerli klasörün, include_path öğesinin bir parçası olduğu anlamına gelir. Aynı dizinde iki dosyanız olduğunda:

index.php
include-me.php

PHP ile ikinci ekleyebilirsiniz include('include-me.php');. Yolda olmadan .bunu yapamazsınız.

Yani gerekir belirtildiği gibi yüklemek tamamlamak için ya içeriğini koymak /libraryüzerinde çalıştığınız komut olduğu aynı klasörde - veya /php/includes(kaldırmak Verilen ;ini dosyasından). Ayrıca başka bir dizin oluşturabilir /opt/Zend/libraryve /opt/Zend/librarydahil etme yol ifadenize ekleyebilirsiniz :include_path = ".:/php/includes:/opt/Zend/library"

Son olarak - Ubuntu'yu çalıştırdığınız için bunun yerine Ubuntu'nun LAMP kurulumunu kullanmanız önerilir (Çoğu dokümantasyonda kullandığınız varsayılmaktadır). Bu, XAMPP kaldırılarak ve sudo tasksel install lamp-serverApache 2.2, MySQL, PHP 5.3'ü sisteme yükleyecek şekilde gerçekleştirilerek kurulabilir. Kaplı gibi bir LAMP yığını kurmak için en kolay yolu nedir?


1
Xampp ile çok mutluyum. Yine de diğer bilgileri takdir ediyorum.
EmmyS

@EmmyS Sorun değil: D - Cevabıma "Neden" yorumuna vermiş olduğum yanıtı ekledim. Sadece bilgilendirildiğinden emin olmak istiyorum.
Marco Ceppi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.