2012-02-18 30 views
7

Tôi đã tìm kiếm khắp nơi và dường như không thể tìm thấy câu trả lời cho điều này. Tôi đang cố gắng để thiết lập một đường dẫn bao gồm trong tập tin php.ini của máy chủ wamp địa phương của tôi. Tôi hiện không hiểu một trong hai điều sau:php.ini include_path

  1. Điều gì được đặt trong dấu ngoặc kép của chính đường dẫn bao gồm.
    Ví dụ: nếu tôi muốn thêm C:\wamp\www làm đường dẫn bao gồm, có phải là
    include_path = ".;C:\wamp\www\" không?
  2. Vị trí đặt đường dẫn bao gồm đường dẫn. Tôi có thể đặt nó ở bất cứ nơi nào, hoặc tôi phải đặt nó ở một nơi cụ thể?

Một số lỗi phổ biến mà tôi đã đọc trong nghiên cứu mà tôi đã kiểm tra.

  • Tôi đang chỉnh sửa file php.ini đặt tại C:\wamp\bin\php\php5.3.8
  • Tôi đã khởi động lại máy chủ sau khi tôi đã thực hiện những thay đổi của tôi và đã kiểm tra nếu nó đã được cập nhật bằng cách sử dụng chức năng phpinfo().

CẬP NHẬT
này hiện là những gì tôi có, nhưng nó vẫn không hoạt động.

; Windows: "\path1;\path2" 
include_path = ".;C:\php\pear;C:\wamp\www" 
+0

Chính xác thì không hiệu quả? – markus

+1

Mã include_path –

+0

Không nhưng WHAT không hoạt động? – markus

Trả lời

10

Tất cả điều này phụ thuộc vào những gì bạn đang cố gắng hoàn thành. Cá nhân, tôi không chỉnh sửa file php.ini trực tiếp cho việc thiết include_paths, chứ không phải tôi sử dụng cấu trúc sau, trong mã:

// This will append whichever path you would like to the current include path 
// And I believe that PHP is smart enough to convert/with \ if on a windoze box 
// If not you can replace/with DIRECTORY_SEPARATOR 
set_include_path(get_include_path() . PATH_SEPARATOR . 'my/custom/path'); 

- Edit -

Rất có thể có thể có nhiều bản sao của php.ini trên hệ thống của bạn và rằng bạn không chỉnh sửa tệp đang được PHP sử dụng.

+0

Tôi có thể sử dụng điều này như là một sửa chữa tạm thời, nhưng tôi thà đặt nó vào tệp php.ini, vì tôi muốn các thay đổi được toàn cầu mà không cần phải thêm mã vào từng tệp. –

+0

Đã hiểu. Tôi sử dụng MVC vì vậy tôi thiết lập tất cả các chỉ thị include_path thông qua một kịch bản và nó ảnh hưởng đến toàn bộ ứng dụng. –

+1

Nếu có ai đề cập đến điều này trong tương lai, vui lòng xem giải pháp bên dưới. Tôi đã đánh dấu phần này là câu trả lời vì anh ấy đã giải quyết nó trong một nhận xét về bài đăng tôi đã thực hiện –

5

Tệp php.ini sẽ có include_path đã có trong đó, nhưng nhận xét, đó là nơi bạn nên đặt, bằng cách bỏ ghi chú đó. Nó cũng có các ví dụ cho các cửa sổ. Nó sẽ trông như thế này, chỉ cần xóa dấu chấm phẩy trước "include_path"

; Windows: "\path1;\path2" 
;include_path = ".;c:\php\includes" 
+1

là chính xác? ; 'include_path =".; c: \ php \ include; c: \ wamp \ www "' –

+2

Có, nhưng loại bỏ; từ đầu dòng; là một chú thích trong cú pháp tệp ini. – thenetimp

+0

Tôi có. Nó vẫn không hoạt động ... –

0

Nhấn liên kết này khi tôi cố gắng gỡ lỗi vì sao include_path trong tệp php.ini của tôi không có hiệu lực. Tôi đang nói về thiết lập Ubuntu của tôi với một api bitnami. Giải pháp là khởi động lại php-fpm bằng cách sử dụng ./ctlscript đúng cách. Đã khởi động lại chỉ apache nhưng phải khởi động lại php-fpm là tốt.

Hy vọng sẽ giúp ai đó thử nó trong ubuntu với một bế tắc bitnami.

0

Nếu bạn phát hiện chuỗi này và bạn đang sử dụng phiên bản WAMPServer hiện tại, bạn có thể gặp sự cố tôi đã chỉnh sửa php.ini được tham chiếu trong báo cáo phpinfo() nhưng không thay đổi con đường. Thực hiện tìm kiếm thư mục WAMP cho thấy 2 DLL (cả hai tên php5ts.dll trong php và apache dirs), trong đó đường dẫn include được chỉ định. Sử dụng môi trường Bitnami WAMP thay thế (https://bitnami.com/stack/wamp/installer). GO PATS!