Hướng dẫn notice no procfile using web heroku-php-apache2 - thông báo không có procfile sử dụng web heroku-php-Apache2

Khi triển khai ứng dụng Laravel của tôi cho Heroku, tôi sẽ không tìm thấy Procfile. Làm cách nào để tạo ra cái này? Và tập tin này cần phải có gì. Tôi không thể truy cập ứng dụng thông qua trình duyệt vì lỗi 403 bị cấm.

Thông báo lỗi chính xác khi đẩy các tệp vào Heroku:

NOTICE: No Procfile, using 'web: vendor/bin/heroku-php-apache2'.

Đã hỏi ngày 23 tháng 2 năm 2017 lúc 13:06Feb 23, 2017 at 13:06

Hướng dẫn notice no procfile using web heroku-php-apache2 - thông báo không có procfile sử dụng web heroku-php-Apache2

Procfile là một tập tin có tên là Procfile và là một cơ chế để tuyên bố những lệnh nào được điều hành bởi ứng dụng của bạn trên nền tảng Heroku. Vì vậy, bạn cần tạo một tệp trên thư mục

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
3 của mình, đặt tên cho nó
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
4 và thêm các mục sau:

web: vendor/bin/heroku-php-apache2

Sau đó, hãy lưu nó và tải nó lên máy chủ của bạn.

Đã trả lời ngày 23 tháng 2 năm 2017 lúc 15:45Feb 23, 2017 at 15:45

HedegarehedegareHedegare

1.9971 Huy hiệu vàng18 Huy hiệu bạc21 Huy hiệu đồng1 gold badge18 silver badges21 bronze badges

1

Tạo nó với các lệnh này:

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

Đã trả lời ngày 23 tháng 2 năm 2017 lúc 13:49Feb 23, 2017 at 13:49

Các điểm sau rất quan trọng để tránh lỗi này:

  1. Tạo một procfile trong thư mục gốc của ứng dụng Laravel của bạn. Bạn có thể tạo điều này từ IDE hoặc thông qua CLI của mình bằng cách chạy lệnh sau:
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile

mà không có trích dẫn.

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
  1. Tên của tệp có tính tương tác ở định dạng
    echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
    git add .
    git commit -m "Procfile for Heroku"
    
    5.
  2. Bạn cần phải đẩy đến Heroku Master khi bạn ở trong chi nhánh chính của bạn.master while you are on your local master branch.

Để đẩy từ một nhánh địa phương khác, hãy chạy lệnh sau:

git push heroku your-local-branch:master

Vì vậy, nếu bạn đang đẩy từ chi nhánh

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
6, bạn nên chạy:

git push heroku local-dev:master

Đã trả lời ngày 2 tháng 8 năm 2021 lúc 12:33Aug 2, 2021 at 12:33

Hướng dẫn notice no procfile using web heroku-php-apache2 - thông báo không có procfile sử dụng web heroku-php-Apache2

Maswerdnamaswerdnamaswerdna

3152 Huy hiệu bạc10 Huy hiệu đồng2 silver badges10 bronze badges

1

Nếu bạn đã theo dõi các tài liệu và thấy lỗi này, hai điều bạn nên làm

1. Tạo Procfile một cách chính xác

Các tài liệu yêu cầu chúng tôi thực thi lệnh này

// Do not do this
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile

Hãy nhớ rằng, bạn cần xóa các trích dẫn đó khi thực thi từ dấu nhắc lệnh. Dòng chính xác làyou need to remove those quotes when executing from the command prompt. The exact line is

// Execute this
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile

Và kiểm tra tên của tệp, nó sẽ bắt đầu bằng P ở chữ hoa: ProcfileProcfile

2. Kiểm tra chi nhánh

Nếu bạn không ở trong chi nhánh chính địa phương trong khi triển khai mã cho Heroku, bạn sẽ kết thúc với các lỗi.master branch while deploying the code to Heroku, you will end up with the errors.

Bạn cần phải đẩy đến Heroku Master khi bạn ở trong chi nhánh chính của bạn. Đây là thiết lập mặc định.

Vì một số lý do, nếu bạn muốn đẩy đến Heroku từ một nhánh khác, bạn cần phải làm điều này:push to Heroku from a different branch you need to do this:

git push heroku you-local-branch:master

Đổi tên chi nhánh của bạn thành tên thực tế của chi nhánh hiện tại của bạn. Điều này cũng giải quyết mọi thứ cập nhật vấn đề. your-local-branch to the actual name of your current branch. This also solves everything up-to-date issue.

web: vendor/bin/heroku-php-apache2
0

  • Hỗ trợ ngôn ngữ
  • PHP
  • Triển khai các ứng dụng PHP trên Heroku

Tiếng Anh - 日本 語 に

Cập nhật lần cuối vào ngày 18 tháng 10 năm 2021

Bài viết này mô tả cách lấy một ứng dụng PHP hiện có và triển khai nó cho Heroku.

Điều kiện tiên quyết

Các thực tiễn tốt nhất trong bài viết này cho rằng bạn có:

  • Một ứng dụng PHP hiện tại sử dụng nhà soạn nhạc để quản lý phụ thuộc.
  • PHP đã cài đặt
  • Nhà soạn nhạc được cài đặt
  • Một tài khoản Heroku miễn phí
  • Heroku cli

Tổng quan

Các chi tiết về hỗ trợ PHP của Heroku, được mô tả trong bài viết hỗ trợ PHP của Heroku.

Hỗ trợ HEROKU PHP sẽ chỉ được áp dụng cho các ứng dụng khi ứng dụng có một tệp có tên

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
7 trong thư mục gốc. Ngay cả khi một ứng dụng không có phụ thuộc của nhà soạn nhạc, nó phải bao gồm một
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
7 trống để được công nhận là ứng dụng PHP.

Quản lý phụ thuộc

Heroku sử dụng nhà soạn nhạc để quản lý phụ thuộc trong các dự án PHP. Nếu ứng dụng của bạn có bất kỳ phụ thuộc nào, tệp

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
7 sẽ chỉ định chúng. Nó sẽ trông giống như thế này:

web: vendor/bin/heroku-php-apache2
1

Sau đó, ứng dụng PHP của bạn có thể sử dụng các phụ thuộc mà nhà soạn nhạc đã cài đặt. Các phụ thuộc thường được cài đặt vào thư mục

echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
0 sau khi bao gồm trình tải tự động được tạo bởi nhà soạn nhạc, thường như thế này:

web: vendor/bin/heroku-php-apache2
2

Các thư viện nhà cung cấp thường được cài đặt cho

echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
0 bởi nhà soạn nhạc, nhưng một số dự án xác định lại tên của thư mục này. Chạy
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
2 để tìm đúng tên đường dẫn.

Bất cứ khi nào bạn thêm hoặc thay đổi phụ thuộc vào

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
7, bạn phải tái tạo tệp khóa. Tệp khóa này rất quan trọng để đảm bảo hành vi có thể tái tạo cho các phụ thuộc của bạn trên nhiều môi trường. Nó cũng giúp đảm bảo chẵn lẻ dev/prod. Để tạo tệp
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
4 của bạn, hãy đảm bảo bạn đã cài đặt trình soạn thảo và sau đó nhập:

web: vendor/bin/heroku-php-apache2
3

Sau khi cập nhật các phụ thuộc của bạn và tạo lại tệp khóa, đừng quên thêm và cam kết các thay đổi vào kho Git của bạn:

web: vendor/bin/heroku-php-apache2
4

Bất cứ khi nào một ứng dụng được triển khai, Heroku sẽ đọc tệp

echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
4 và cài đặt các phụ thuộc sản xuất phù hợp vào thư mục
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
6 bằng cách chạy
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
7 trong quá trình xây dựng. Để biết thêm thông tin, hãy xem hành vi xây dựng PHP.

Mỗi nhà phát triển trong nhóm của bạn sẽ chạy

echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
8 để cài đặt các phụ thuộc giống như mọi người khác, bởi vì
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
4 đã nhớ đến họ.

Cách giữ xây dựng các hiện vật của Git

Ngăn chặn các tạo tác xây dựng đi vào kiểm soát sửa đổi bằng cách tạo tệp

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
0. Thư mục nhà soạn nhạc
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
6 phải được bao gồm trong tệp
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
0 của bạn. Điều này giữ cho các kích thước kho lưu trữ nhỏ, đơn giản hóa các bản cập nhật phụ thuộc và cho phép nhà soạn nhạc cài đặt một cách đáng tin cậy một phụ thuộc của ứng dụng dựa trên
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
4

Ở đây, một tệp

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
0 điển hình:

web: vendor/bin/heroku-php-apache2
5

Chỉ định Runtimes và Tiện ích mở rộng

Tùy chọn, bạn có thể chỉ định động cơ nào (PHP hoặc HHVM) và phiên bản để sử dụng trong thời gian chạy. Để biết thêm thông tin, xem việc chọn bài viết thời gian chạy.

Bất kỳ tiện ích mở rộng PHP nào không được bật theo mặc định đều có thể được bật thông qua

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
7. Bài viết mở rộng có một danh sách chi tiết các tiện ích mở rộng và hướng dẫn có sẵn về cách kích hoạt chúng.

Procfile

Procfile là một tệp văn bản trong thư mục gốc của ứng dụng của bạn xác định các loại quy trình và tuyên bố rõ ràng lệnh nào sẽ được thực thi để bắt đầu ứng dụng của bạn.

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
4 của bạn sẽ trông giống như thế này:

web: vendor/bin/heroku-php-apache2

Điều này tuyên bố một loại quy trình duy nhất,

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
7 và lệnh cần thiết để chạy nó. Tên,
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
7, là quan trọng ở đây. Nó tuyên bố rằng loại quy trình này sẽ được gắn vào ngăn xếp định tuyến HTTP của Heroku và nhận lưu lượng truy cập web khi được triển khai.

Chọn một máy chủ web

Tùy thuộc vào thời gian chạy (PHP hoặc HHVM) và máy chủ web (APACHE2 hoặc NGINX), bạn muốn sử dụng để chạy ứng dụng của mình, lệnh cho loại quy trình

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
7 trong
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
4 của bạn sẽ khác. Các tùy chọn có thể được ghi lại trong bài viết của máy chủ web. Ví dụ: để sử dụng Nginx làm máy chủ web thay thế,
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
4 sẽ chứa:

web: vendor/bin/heroku-php-apache2
7

Các tập lệnh khởi động này (

git push heroku your-local-branch:master
2 hoặc
git push heroku your-local-branch:master
3) chấp nhận các tùy chọn và đối số khác nhau để tinh chỉnh cấu hình của ứng dụng của bạn. Vui lòng tham khảo Tùy chỉnh máy chủ web và cài đặt thời gian chạy cho PHP để biết thêm thông tin.

Định cấu hình gốc tài liệu

Tùy chọn, bạn có thể sử dụng root tài liệu cho ứng dụng của mình mà không phải là thư mục gốc của ứng dụng. Để làm điều này, hãy sửa đổi

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
4 của bạn để thêm một đối số ở cuối bootscript. Đối số sẽ là tên của thư mục nên được sử dụng làm gốc tài liệu, liên quan đến thư mục gốc ứng dụng của bạn.

Ví dụ: nếu bạn có một thư mục có tên

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
3 có chứa tệp javascript, css, hình ảnh và tệp
git push heroku your-local-branch:master
6 của bạn,
echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
4 của bạn sẽ xác định máy chủ web Apache với thư mục đó được sử dụng làm gốc tài liệu như sau:

web: vendor/bin/heroku-php-apache2
8

Triển khai ứng dụng của bạn cho Heroku

Sau khi bạn thực hiện các thay đổi của mình với Git, bạn có thể triển khai ứng dụng của mình cho Heroku.

web: vendor/bin/heroku-php-apache2
9

Để mở ứng dụng trong trình duyệt của bạn, hãy nhập

git push heroku your-local-branch:master
8.

Dynos một lần

Heroku cho phép bạn chạy các lệnh trong một dyno một lần bằng cách sử dụng lệnh

git push heroku your-local-branch:master
9. Sử dụng điều này cho các tập lệnh và các ứng dụng chỉ cần được thực thi khi cần, chẳng hạn như các tác vụ bảo trì, tải đồ đạc vào cơ sở dữ liệu hoặc di chuyển cơ sở dữ liệu trong quá trình cập nhật ứng dụng.

Ví dụ: bạn có thể sử dụng

git push heroku your-local-branch:master
9 để di chuyển cơ sở dữ liệu cho ứng dụng của mình bằng học thuyết bằng cách làm điều gì đó tương tự như thế này:

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
0

Đối với mục đích gỡ lỗi, chẳng hạn như để kiểm tra trạng thái ứng dụng của bạn sau khi triển khai, bạn có thể sử dụng

git push heroku local-dev:master
1 để có vỏ đầy đủ vào một dyno một lần. Nhưng hãy nhớ rằng điều này sẽ không kết nối bạn với một trong những dynos web có thể chạy cùng một lúc.

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
1

Đăng nhập

Heroku coi nhật ký là luồng và hy vọng chúng sẽ được viết vào stdout và stderr và không phải là hệ thống tập tin phù du của nó.

Cách cơ bản nhất để gửi thông tin ghi nhật ký là ghi vào luồng

git push heroku local-dev:master
2 trong mã của bạn như thế này:

echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
git add .
git commit -m "Procfile for Heroku"
2

Tham khảo tài liệu ghi nhật ký để biết thêm thông tin chung về việc đăng nhập trên Heroku.

Bước tiếp theo

  • Đọc tài liệu hỗ trợ HEROKU PHP để tìm hiểu về các phiên bản, tiện ích mở rộng, tính năng và hành vi có sẵn.
  • Tìm hiểu cách tùy chỉnh máy chủ web và cài đặt thời gian chạy cho PHP, đặc biệt là cách đặt gốc tài liệu cho ứng dụng của bạn.
  • Sử dụng mã thông báo GitHub tùy chỉnh cho nhà soạn nhạc.
  • Khám phá danh mục PHP trên Trung tâm Dev.

Tôi có thể tìm Procfile ở đâu ở Heroku?

Heroku Procfile..
Procfile. Procfile (nghĩa đen là một tập tin có tiêu đề Procfile) được đặt ở gốc của hệ thống tệp của ứng dụng và có thể được sử dụng để chỉ định một loạt các quy trình. ....
Loại quy trình web. Web loại quy trình là đặc biệt đối với Heroku. ....
Quy mô các quy trình. ....
Procfile và Heroku. ....
Đề xuất đọc ..

Làm thế nào để Heroku xác định Procfile?

Bước 1: Tạo một Procfile. Các ứng dụng Heroku bao gồm một Procfile chỉ định các lệnh được thực thi bởi các dynos của ứng dụng. ....
Bước 2: Loại bỏ Dist khỏi. Gitignore. ....
Bước 3: Xây dựng ứng dụng. ....
Bước 4: Thêm thư mục Dist & Procfile vào kho lưu trữ. ....
Bước 5: Tạo Heroku Remote. ....
Bước 6: Triển khai mã ..

Tôi có thể lưu trữ trang web PHP của mình trên Heroku không?

Các chi tiết về hỗ trợ PHP của Heroku được mô tả trong bài viết hỗ trợ PHP của Heroku.Hỗ trợ HEROKU PHP sẽ chỉ được áp dụng cho các ứng dụng khi ứng dụng có một tệp có tên Composer.json trong thư mục gốc.Ngay cả khi một ứng dụng không có phụ thuộc của nhà soạn nhạc, nó phải bao gồm một nhà soạn nhạc trống.Heroku PHP Support will be applied to applications only when the application has a file named composer. json in the root directory. Even if an application has no Composer dependencies, it must include an empty composer.

Heroku có sử dụng Apache không?

Theo mặc định, Heroku sẽ khởi chạy một máy chủ web Apache cùng với PHP để phục vụ các ứng dụng.Tuy nhiên, một trường hợp đặc biệt áp dụng cho các ứng dụng Symfony: root tài liệu nằm trong thư mục web/ và không nằm trong thư mục gốc của ứng dụng.. However, a special circumstance apply to Symfony applications: the document root is in the web/ directory and not in the root directory of the application.