2013-06-16 16 views
12

Sau nhiều faffing về việc tôi có laravel để làm việc với XAMPP. Tuy nhiên, tôi không thể truy cập các thư mục trong thư mục htdocs thông qua localhost ngay bây giờ. Cố gắng truy cập tệp trả về Object not found! cùng với The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.XAMPP localhost trả về đối tượng không tìm thấy sau khi cài đặt Laravel

Những thay đổi mà tôi đã thực hiện để làm việc lúc này có vẻ như bị mờ. Điều duy nhất tôi nhớ là chỉnh sửa tệp hosts để cho phép máy chủ ảo hoạt động bằng cách thêm 127.0.0.1 laravel.dev vào tệp máy chủ (sử dụng mac btw). Tôi cũng đã thêm một máy chủ ảo vào tệp httpd-vhost.conf.

Tôi đã hoàn tác các thay đổi ở trên nhưng nó không tạo sự khác biệt.

Mọi suy nghĩ về những gì đã xảy ra sai?

Cảm ơn.

Confusion Confusion Chỉ cần nghĩ tôi sẽ làm rõ trải nghiệm của mình là gì. Trước khi cài đặt laravel 4 Tôi có thể truy cập tất cả các dự án của mình với localhost/someProjectName nhưng hiện tại không thành công.

Tôi đang cố gắng xác định thay đổi nào đã gây ra hành vi này. Btw, tôi không gặp vấn đề gì khi truy cập dự án laravel của tôi (ánh xạ của tôi cho phép tôi truy cập vào nó qua laravel.dev)

+0

@asipiringCodeArtisan Tôi cũng trải qua những lỗi chính xác tương tự. Tôi đã cài đặt Laravel bằng cách sử dụng nhà soạn nhạc và phục vụ trang web hướng Laravel bằng cách sử dụng 'artisan serve'. Kể từ khi dự án hiện tại (non Laravel) của tôi không còn hoạt động như dự định trong vhost. Bạn có kết thúc việc sửa lỗi này không? – nickspiel

+0

@nickspiel: Tôi nghi ngờ điều này có liên quan đến cấu hình máy chủ ảo. Tôi không có giải pháp, tôi chỉ biết vấn đề nằm ở đâu. – kaizenCoder

+0

Vâng bạn đã đúng, nó chỉ ra tôi đã có một lỗi đánh máy trong một con đường cho các tập tin đăng nhập của tôi. - Lỗi học sinh. – nickspiel

Trả lời

2

Trong http.conf Apache của bạn, tìm dòng /public ở cuối. Khi đã xong và bạn đã khởi động lại Apache, bạn sẽ có thể truy cập mọi thứ nằm trong thư mục htdocs/public của bạn (bao gồm thư mục con của thư mục đó), cùng với bất kỳ tuyến đường nào bạn đã xác định trong Laravel.

Laravel được thiết kế để thiết lập theo cách này nhằm bảo vệ mã và tệp bằng cách không có chúng trong thư mục được phân phát trên web.

+0

này, tôi thực sự đang cố gắng truy cập vào các dự án không phải là laravel. Tôi có thể truy cập dự án Laravel của tôi thành công nhưng dường như không thành công. – kaizenCoder

1

Tôi không biết liệu bạn có đang chạy L4 hay L3 hay không. Tuy nhiên, phóng CLI và

$ cd ./path/to/project

Sau đó cho L4:

$ php artisan serve 

Đối với L3:

$ php -S localhost:8000 -t public 

Bây giờ bạn có thể truy cập localhost:8000 và xem ứng dụng của bạn.

+0

Điều này sẽ chỉ hoạt động với PHP> = 5.4 –

15

Nhìn vào tệp /etc/httpd.conf của bạn và xem bạn đã kích hoạt máy ảo chưa.

Nếu có, hãy kiểm tra tệp etc/extra/httpd-vhosts.conf của bạn. Bạn có thể đã thiết lập một VirtualHost rồi.

EDIT: Tôi đã tìm thấy rằng một khi bạn bật máy chủ ảo, XAMPP cần một VirtualHost mặc định cho htdocs file cơ bản của bạn

Hãy thử thêm một VirtualHost mặc định (ở dưới cùng của file) như sau:

<VirtualHost *:80> 
ServerName localhost 
DocumentRoot "/Applications/XAMPP/htdocs" 
<Directory "/Applications/XAMPP/htdocs"> 
Options Indexes FollowSymLinks Includes execCGI 
AllowOverride All 
Order Allow,Deny 
Allow From All 
</Directory> 
</VirtualHost> 
+3

Bạn có thể thử giải thích những gì bạn đang đề xuất làm ở đây, thay vì chỉ cần đưa ra hướng dẫn - theo cách này, người dùng đã đặt câu hỏi cũng có thể tìm hiểu :) –

+0

Tôi cần thêm dòng này: "Yêu cầu tất cả được cấp" sau "Cho phép từ tất cả" – Phuong

3

Nghe có vẻ như tôi là một vấn đề với cách thư mục của bạn được cấu hình. Đảm bảo tạo Máy chủ ảo (nếu bạn đang sử dụng Apache) trỏ đến thư mục công khai trong thư mục ứng dụng của bạn.

Ví dụ, nếu dự án Laravel của bạn đang được/Applications/xampp/htdocs/Laravel sau đó thiết lập một máy chủ ảo như thế này:

<VirtualHost *:80> 
    DocumentRoot /Applications/XAMPP/htdocs/Laravel/public 

    # Other directives here 
</VirtualHost> 

Additionaly, nếu bạn đang làm việc với PHP> = 5.4, SSH vào thư mục ứng dụng và chạy

./artisan serve 

(Hãy chắc chắn rằng tệp thi hành PHP của bạn có trong biến PATH). Sau đó đi localhost: 8000 và bạn nên chạy ứng dụng của bạn. Chạy lệnh này chạy máy chủ web tích hợp sẵn PHP và tiết kiệm cho bạn sự cố khi định cấu hình máy chủ ảo.

1

Bạn đang gặp sự cố vì đối tượng thực sự không tồn tại trong thư mục htdocs của bạn. Bạn không phải chắp thêm xampp sau localhost hoặc 127.0.0.1xampp sẽ coi đó là đối tượng hoặc thư mục trong htdocs.

nếu bạn muốn truy cập blog của bạn, hãy chắc chắn bạn có một thư mục blog trong htdocs và đặt trong URL của bạn localhost/blog