Không có nghĩa là gì: có nghĩa là trong php include_path?


10

Tôi đang cố gắng cài đặt Zend trên máy chạy xampp. Tệp trợ giúp của Zend nói rằng để thiết lập các công cụ dòng lệnh, tôi cần đảm bảo rằng nội dung của thư mục / library được đặt bên trong thư mục được bao gồm php của tôi.

Khi tôi nhìn vào php.ini của mình, include_path được nhận xét, nhưng giá trị trông như thế này:

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

Chính xác thì bao gồm các đường dẫn trỏ tới đâu? Tôi khá mới đối với Linux và chưa từng thấy .: Là một phần của đường dẫn tệp.


2
Bạn đã đề cập đến "một máy chạy xampp" Bạn có thể muốn gỡ bỏ nó và cài đặt máy chủ đèn thay vì đó là một gói trong Ubuntu
Marco Ceppi

1
Tại sao? xampp chạy hoàn toàn tốt.
EmmyS

2
Siêu dữ liệu máy chủ đèn của Ubuntu (taskel → LAMP Server) là một bản phân phối của ngăn đèn được thiết kế để hoạt động đặc biệt tốt với ubfox . Tất nhiên, bạn có thể sử dụng xampp - và nó sẽ hoạt động tốt, nhưng phân phối (phiên bản) của Ubuntu được khuyến nghị (và bắt buộc nếu bạn muốn sử dụng hỗ trợ doanh nghiệp của canonical).
Stefano Palazzo

Câu trả lời:


4

: là một dấu phân cách trong danh sách các thư mục.

. có nghĩa là thư mục hiện tại

Vì vậy, khi một tập lệnh php đang tìm kiếm một tệp bao gồm, nó sẽ xem nó cùng thư mục với tệp php và / php / gồm.


Vì vậy, đường dẫn hiện bao gồm hai thư mục - thư mục hiện tại (theo tôi giả sử bạn có nghĩa là thư mục thực sự chứa php.ini) và / php / bao gồm? Trường hợp / php / bao gồm (liên quan đến đường dẫn này)? Bên trong thư mục hiện tại? Hay ở đâu đó khác?
EmmyS

Hầu hết, . là thư mục hiện tại liên quan đến từng tệp php cụ thể, không phải php.ini. / php / gồm là một đường dẫn tuyệt đối, mong đợi thư mục 'php' cấp cao nhất trong hệ thống tệp của bạn (cùng cấp với / usr, / etc)
misterben

7

.:thực ra chỉ là .(vì :là từ khóa phân tách nhiều đường dẫn) có nghĩa là thư mục hiện tại mà tập lệnh đang được thực thi được đưa vào như một phần của include_path. Theo cách đó, khi bạn có hai tệp trong cùng một thư mục:

index.php
include-me.php

Bạn có thể bao gồm cái thứ hai trong PHP với include('include-me.php');. Nếu không có .con đường, bạn sẽ không thể làm như vậy.

Vì vậy, để hoàn tất cài đặt như đã đề cập, bạn cần phải đặt nội dung /librarytrong cùng một thư mục mà tập lệnh bạn đang làm việc nằm trong - hoặc trong /php/includes(Cấp cho bạn loại bỏ ;tệp ini). Bạn cũng có thể tạo một thư mục khác - thích /opt/Zend/libraryvà thêm /opt/Zend/libraryvào câu lệnh bao gồm:include_path = ".:/php/includes:/opt/Zend/library"

Cuối cùng - vì bạn đang chạy Ubuntu, bạn nên sử dụng thiết lập LAMP của Ubuntu thay vào đó (Hầu hết tất cả các tài liệu đều cho rằng bạn đang sử dụng). Điều này có thể được cài đặt bằng cách loại bỏ XAMPP và thực hiện sudo tasksel install lamp-serversẽ cài đặt Apache 2.2, MySQL, PHP 5.3 lên hệ thống. Như được trình bày trong phần Cách dễ nhất để thiết lập ngăn xếp LAMP là gì?


1
Tôi hoàn toàn hài lòng với xampp. Tôi đánh giá cao các thông tin khác, mặc dù.
EmmyS

@EmmyS Điều đó tốt: D - Tôi chỉ đưa phản hồi của mình vào bình luận của bạn "Tại sao" trong câu trả lời của tôi. Chỉ muốn chắc chắn rằng bạn được thông báo.
Marco Ceppi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.