2011-07-04 18 views
5

Có một vấn đề/lỗi/tính năng/bất cứ điều gì trên Linux + Nginx + Kohana:Trường hợp nhạy cảm trong vấn đề URL trên Linux + Nginx + Kohana + php

Chúng ta phải đảm bảo rằng chúng tôi giữ tất cả các tên tập tin của chúng tôi trong chỉ chữ thường.

Chúng tôi không thể có bất cứ điều gì như "setUserServer.php". Nó chỉ đơn giản là không hoạt động. Không biết tại sao. Nếu chúng tôi đặt tên cho cùng một tệp là "setuserserver.php", nó sẽ chạy.

Sự cố này không tồn tại trên Windows + Apache + Kohana.

Nếu có ai đó có ý tưởng về cách giải quyết vấn đề này, vui lòng kêu gọi trong chuỗi này.

Cảm ơn.

Trả lời

5

Solution được gắn bó với chương trình đặt tên của Kohana: tất cả các hồ sơ vụ án thấp

Windows bằng cách mặc định không được trường hợp nhạy cảm, và Linux là. Không thể "giải quyết" được

+0

nếu (! "Giải quyết") mọi cách giải quyết? :) – Shrinath

+1

Cách giải quyết: sử dụng tên tệp chữ thường – SpadXIII

+0

Cách giải quyết ** xấu xí ** sẽ là thiết lập một paritition với hệ thống tệp 'vfat' (không phân biệt chữ hoa chữ thường). Để nhanh chóng dùng thử, bạn có thể tạo một đĩa ảo với bản sao tệp của bạn. Xem http://www.learnosity.com/techblog/index.cfm/2009/2/2/Noncase-sensitive-filesystem-on-Linux--HOWTO –

0

Bạn có thể sử dụng trường hợp hỗn hợp cho thư viện của nhà cung cấp (tải include hoặc require), nhưng original Kohana's autoloader sẽ chuyển đổi tên lớp thành chữ thường (dưới dạng SpadXIII). Vì vậy, giải pháp có thể là viết autoloader của riêng bạn (hoặc mở rộng lớp Kohana) và sử dụng nó thay vì/trước khi tiêu chuẩn.

PS. AFAIR, Chế độ xem sẽ hoạt động với các tệp như PageTemplate.php