2011-12-15 19 views
5

Tôi có tuyên bố bao gồm trong tập lệnh PHP chạy trên xampp trên Windows. Nếu tôi sử dụng một đường dẫn tương đối:PHP: Cảnh báo: không thể mở luồng không có tệp hoặc thư mục như vậy trên Windows

include '../config/eventInfoConfig.php'; 

Tôi nhận được thông báo lỗi:

Warning: include(../config/eventInfoConfig.php) [function.include]: failed to open stream: No such file or directory

Nhưng nếu tôi sử dụng đường dẫn tuyệt đối tôi không có lỗi:

include 'c:/xampp/htdocs/xampp/appTrials/myApp/config/eventInfoConfig.php'; 

Làm thế nào tôi có thể sử dụng một đường dẫn tương đối trong bao gồm của tôi mà không gây ra lỗi?

+0

Đầu ra 'var_dump (get_include_path())' là gì? – greg0ire

+0

chuỗi (42) ";; C: \ xampp \ htdocs \ xampp; C: \ xampp \ php \ PEAR;" Nhưng tôi nghĩ bạn đã trả lời câu hỏi của tôi. Tôi cần phải bao gồm một đường dẫn đến thư mục apache htdocs của tôi trong tham số include_path trong tệp php.ini của tôi. Điều đó hoạt động! Cảm ơn rất nhiều về sự giúp đỡ của bạn!! – user840930

+0

Tôi chỉ chạy vào cùng một lỗi chính xác cho cùng một lý do chính xác. Tại sao địa ngục không cố gắng giải quyết đường dẫn liên quan đến thư mục của tập lệnh trước khi sử dụng include_path ?! –

Trả lời

2

Sửa lỗi include_path() để bao gồm đúng đường dẫn thực hiện thủ thuật.

+0

Tôi đã bắt đầu một danh sách kiểm tra xử lý sự cố cho lỗi thường gặp này tại đây: stackoverflow.com/a/36577021/2873507 –

1

Bạn có thể biến đường dẫn tương đối thành đường dẫn tuyệt đối. include rất khó. Tôi luôn giữ một hằng số toàn cầu, BASE_PATH, có chứa đường dẫn tuyệt đối và nối thêm tệp mà tôi cần đưa vào.

+1

bao gồm không phải là khó khăn, nhưng con đường tương đối là khó khăn. – ajreal

+0

Bao gồm thực sự là khó khăn. Tôi đã bắt đầu một danh sách kiểm tra xử lý sự cố cho lỗi thường gặp ở đây: stackoverflow.com/a/36577021/2873507 –

3

Tôi sẽ làm cho nó hoạt động để bạn cũng có thể bao gồm tệp này trong các tệp khác và vẫn hoạt động bình thường.

include_once(dirname(__FILE__).'/../config/eventInfoConfig.php'); 
+0

Tôi đã bắt đầu một danh sách kiểm tra xử lý sự cố cho lỗi thường xuyên này ở đây: stackoverflow.com/a/36577021/2873507 –