Apa artinya.: Berarti dalam php include_path?

10

Saya mencoba menginstal Zend pada mesin yang menjalankan xampp. File bantuan Zend mengatakan bahwa untuk mengatur alat-alat command-line, saya perlu memastikan bahwa isi direktori / library ditempatkan di dalam direktori yang ditentukan include_path php saya.

Ketika saya melihat php.ini saya, include_path dikomentari, tetapi nilainya terlihat seperti ini:

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

Di mana tepatnya include_path menunjuk ke? Saya cukup baru di Linux, dan belum pernah melihat:: sebagai bagian dari jalur file.

EmmyS
sumber
2
Anda menyebutkan "mesin yang menjalankan xampp" Anda mungkin ingin menghapusnya dan menginstal lamp-server sebagai paket di Ubuntu
Marco Ceppi
1
Mengapa? xampp berjalan dengan baik.
EmmyS
2
Metapackage server-lampu Ubuntu (tasksel → LAMP Server) adalah distribusi tumpukan lampu yang dirancang untuk bekerja dengan baik terutama dengan ubuntu . Anda dapat menggunakan xampp tentu saja - dan itu akan berfungsi dengan baik, tetapi distribusi (versi) Ubuntu direkomendasikan (dan diperlukan jika Anda ingin menggunakan dukungan perusahaan kanonik).
Stefano Palazzo

Jawaban:

4

: adalah pemisah dalam daftar direktori.

. berarti direktori saat ini

Jadi ketika skrip php sedang mencari file include, ia akan mencari direktori yang sama dengan file php, dan / php / include.

misterben
sumber
Jadi path saat ini termasuk dua direktori - direktori saat ini (yang saya anggap maksud Anda adalah direktori yang sebenarnya berisi php.ini) dan / php / include? Di mana / php / include (sejauh menyangkut jalur ini)? Di dalam direktori saat ini? Atau di tempat lain?
EmmyS
Hampir,. adalah direktori saat ini relatif terhadap setiap file php tertentu, bukan php.ini. / php / include adalah path absolut, mengharapkan folder 'php' tingkat atas di sistem file Anda (pada tingkat yang sama dengan / usr, / etc)
misterben
7

.:sebenarnya hanya .(karena :kata kunci yang memisahkan banyak jalur) yang berarti folder saat ini skrip sedang dijalankan dimasukkan sebagai bagian dari include_path. Dengan begitu ketika Anda memiliki dua file di direktori yang sama:

index.php
include-me.php

Anda dapat memasukkan yang kedua dalam PHP dengan include('include-me.php');. Tanpa .berada di jalur Anda tidak akan bisa melakukannya.

Jadi, untuk menyelesaikan instalasi seperti yang disebutkan, Anda harus meletakkan konten /librarydi folder yang sama dengan skrip yang sedang Anda kerjakan ada di - atau di /php/includes(Memang Anda menghapus ;dari file ini). Anda juga dapat membuat direktori lain - suka /opt/Zend/librarydan menambahkan /opt/Zend/librarypernyataan path include Anda:include_path = ".:/php/includes:/opt/Zend/library"

Terakhir - karena Anda menjalankan Ubuntu, disarankan Anda menggunakan pengaturan LAMP Ubuntu sebagai gantinya (Kebanyakan semua dokumentasi mengasumsikan Anda menggunakan). Ini dapat diinstal dengan menghapus XAMPP dan melakukan sudo tasksel install lamp-serveryang akan menginstal Apache 2.2, MySQL, PHP 5.3 ke sistem. Seperti yang tercakup dalam Apa cara termudah untuk mengatur tumpukan LAMP?

Marco Ceppi
sumber
1
Saya sangat senang dengan xampp. Saya menghargai info lainnya.
EmmyS
@EmmyS Tidak apa-apa: D - Saya baru saja memasukkan tanggapan saya terhadap komentar Anda "Mengapa" dalam jawaban saya. Hanya ingin memastikan Anda mendapat informasi.
Marco Ceppi