2015-10-15 17 views
7

Tôi đã cài đặt ứng dụng "cơ bản" Yii2 trên vùng làm việc Cloud9 bằng cách sử dụng trình soạn nhạc. Nó chạy tốt như bạn có thể thấy ở đây https://portfolio-php--dfmmalaw.c9.io/basic/web/index.phpYii2 Ứng dụng không hiển thị trên miền Heroku

Vấn đề là tôi gặp lỗi dưới đây khi cố xem sau khi triển khai đến URL Heroku.

"Bị cấm Bạn không có quyền truy cập/trên máy chủ này".

Ảnh chụp màn hình dưới đây là Cloud9 workspace của tôi http://prntscr.com/8rrkn0

Tôi thậm chí đã cố gắng thêm cơ bản/web/index.php vào URL Heroku nhưng tôi chỉ nhận được một trang trống. Tôi đang làm gì sai?

Trả lời

5

Sau khi nhận trợ giúp từ Herokai, David Zuelke, tôi quyết định tạo hướng dẫn về cách tạo ứng dụng Yii2 trong Cloud9 → Push to Github → Triển khai tới Heroku. Xin vui lòng xem dưới đây (link doc google ở ​​trên nếu dễ đọc hơn):

https://docs.google.com/document/d/15teHaGWUWSNW_VwdV3-7bVpQHNRv2G0Z8GPFbIB-ogs/edit

1) Tạo Yii2 “cơ bản” ứng dụng:

290795 $ composer create-project --prefer-dist yiisoft/yii2-app-basic basic 

2) Di chuyển vào thư mục “cơ bản”

290795 $ cd basic/ 

3) Khởi tạo repo cục bộ cho thư mục “cơ bản”

basic $ git init 

4) Thêm và cam kết dự án Yii

basic $ git add . 
basic $ git commit -m "basic Yii project" 

5) Thêm procfile rằng sẽ trỏ đến index.php (entry script) trong “web” thư mục

basic $ echo "web: vendor/bin/heroku-php-apache2 web/" > Procfile 
basic $ git add Procfile 
basic $ git commit -m "Procfile for Heroku" 

6) Thảo luận ra gỡ lỗi nội dung (tôi thực hiện việc này theo cách thủ công thay vì từ dòng lệnh)

basic $ vim web/index.php # remove dev/debug env stuff (not my way) 
basic $ git add web/index.php 
basic $ git commit -m "remove dev/debug env" 

7) Cập nhật phụ thuộc từ v1.0.3 thành v1.1 (tuyệt đối n ecessity)

basic $ composer require fxp/composer-asset-plugin 
basic $ git add composer.json composer.lock 
basic $ git commit -m "use fxp/composer-asset-plugin in project" 

8) Tạo ứng dụng Heroku và đẩy vào ứng dụng đó.(Tôi thay vì tạo và push to Github repo)

basic $ heroku create 
basic $ git push heroku master (again I push to Github Repo synced with Heroku) 

9) Thêm đăng nhập để Heroku cho Yii ứng dụng (không khai thác gỗ cho Yii out of the box)

basic $ echo "web: vendor/bin/heroku-php-apache2 -l runtime/logs/app.log web/" > Procfile 
basic $ git add Procfile 
basic $ git commit -m "tail runtime/logs/app.log" 
basic $ git push heroku master (again I push to Github Repo synced with Heroku) 

10) Điều này cho phép “Liên hệ ”Để hoạt động (không chắc chắn lý do)

basic $ composer require ext-gd:* --ignore-platform-reqs 
basic $ git add composer.json composer.lock 
basic $ git commit -m "require GD for contact CAPTCHA" 
basic $ git push heroku master (again I push to Github Repo synced with Heroku) 
0

Cách dễ nhất là kiểm tra nhật ký apache của bạn. Tôi không có kinh nghiệm với Heroku nhưng tôi chắc chắn họ cung cấp quyền truy cập vào chúng. Chỉ cần nhìn vào đó và bạn sẽ thấy vấn đề là gì. Một trang trắng thường có nghĩa là đó là một lỗi thảm khốc.

Một điều cần xem xét là nếu bạn đã sử dụng các thẻ php ngắn. Bạn không nên và đó thường là một thiết lập thoải mái hơn trên máy tính của bạn nhưng nghiêm ngặt hơn trên các máy chủ lưu trữ. Nhưng một lần nữa nhìn vào các bản ghi, họ sẽ cho bạn biết điều này quá.

Điều này là dành cho mẫu nâng cao, vì vậy không dành cho bạn: Tôi đoán bạn đã không chạy 'php init' như tài liệu cho bạn biết. Lệnh init không chỉ là lần đầu tiên bạn nhận được ứng dụng, mà còn mỗi lần bạn thiết lập nó trên một máy chủ mới. nó tạo ra tệp index.php và các tệp cấu hình khác mà bạn sẽ cần chắc chắn. Chỉ cần làm theo một lần nữa các hướng dẫn cài đặt yii2 http://www.yiiframework.com/doc-2.0/guide-start-installation.html

+0

Xin chào Mihai. Tôi không nhìn thấy nơi nó nói để sử dụng lệnh "php init" trong tài liệu bạn đã liên kết ở trên. Tệp index.php được tạo khi tôi cài đặt khung công tác Yii2 thông qua Composer. Nó nằm trong thư mục cơ bản/web và tôi có thể chạy ứng dụng trong Cloud9 như bạn có thể thấy ở đây >>>>>> http://prntscr.com/8rtpbq –

+0

Xin chào, xin lỗi tôi đã làm việc quá nhiều về nâng cao template, cái đó có init. Hãy để tôi tìm ra những gì là những gì. –

Các vấn đề liên quan