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.


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.


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?


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.