Nhưng điều này không thể hoạt động nếu bạn có nhiều cài đặt PHP trên máy chủ Ubuntu của mình [tôi. e. 5. 6, 7. 0, 7. 1]
Để đảm bảo tiện ích mở rộng chỉ được cài đặt cho một phiên bản cụ thể, bạn phải chỉ định đúng phiên bản cho tệp nhị phân
brew install openssl
38 và brew install openssl
39 Cài đặt Xdebug cho các phiên bản PHP khác nhau trên môi trường phát triển Mac OS X của bạn và dễ dàng tắt và bật nó
Những mẹo xử lí sự cố
Nếu bạn nhận được thông báo rằng trình duyệt không thể kết nối với máy chủ, trước tiên hãy kiểm tra để đảm bảo rằng máy chủ đang hoạt động
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
1Bạn sẽ thấy một vài quy trình httpd nếu Apache đang hoạt động
Hãy thử khởi động lại Apache với
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
2Bạn có thể xem nhật ký lỗi Apache trong tab/cửa sổ Terminal mới trong khi khởi động lại để xem có gì không hợp lệ hoặc gây ra sự cố không
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
3Apache được điều khiển thông qua lệnh
brew install openssl
9 nên một số lệnh hữu ích để sử dụng là/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
4Mã phòng thu trực quan
Trong các hướng dẫn trước đây, tôi luôn cung cấp hướng dẫn chỉnh sửa tệp bằng ứng dụng
brew install openssl
40 mặc định được cài đặt sẵn. Tuy nhiên, đây không phải là thứ tôi sử dụng vì nó là một trình soạn thảo tệ hại và khi kiểm tra hướng dẫn của tôi về Ventura, tôi liên tục gặp sự cố với mã hóa, tìm số dòng, v.v. Giải pháp tốt hơn là chỉ cần cài đặt trình chỉnh sửa tốt hơn. Vì vậy, vui lòng cài đặt Visual Studio Code cực kỳ linh hoạt, miễn phí 100%. Nó có sẵn trên Mac, Windows và Linux, nhưng hiện tại chúng tôi chỉ quan tâm đến phiên bản macChúng tôi có thể sử dụng HomeBrew và cài đặt VSCode và lệnh
brew install openssl
41 CLI đi kèm trong một lần với/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
5Nếu bạn đã cài đặt Visual Studio Code, bạn có thể dễ dàng tạo liên kết tượng trưng
brew install openssl
41 với/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
6Cấu hình Apache
Bây giờ chúng tôi có một máy chủ web đang hoạt động, chúng tôi sẽ muốn thực hiện một số thay đổi về cấu hình để nó hoạt động tốt hơn như một máy chủ phát triển cục bộ
Trong phiên bản mới nhất của Brew, bạn phải đặt cổng nghe theo cách thủ công từ mặc định là
brew install openssl
43 thành brew install openssl
44, vì vậy chúng tôi sẽ cần chỉnh sửa tệp cấu hình của Apache brew install openssl
45Nếu bạn làm theo các hướng dẫn ở trên, bạn sẽ có thể sử dụng Visual Studio Code để chỉnh sửa các tệp của mình bằng lệnh Terminal
brew install openssl
41. Tuy nhiên, nếu bạn muốn sử dụng ứng dụng TextEditor mặc định để thực hiện chỉnh sửa, bạn có thể sử dụng lệnh brew install openssl
47 kèm theo đường dẫn đến tệp/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
7Tìm dòng nói
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
8và thay đổi nó thành
brew install openssl
44/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
9Tiếp theo, chúng ta sẽ định cấu hình nó để sử dụng thay đổi gốc tài liệu cho Apache. Đây là thư mục nơi Apache tìm cách phục vụ tệp từ đó. Theo mặc định, gốc tài liệu được cấu hình là
brew install openssl
49. Vì đây là máy phát triển, giả sử chúng ta muốn thay đổi gốc tài liệu để trỏ đến một thư mục trong thư mục chính của chúng taTìm kiếm cụm từ
brew install openssl
50 và bạn sẽ thấy dòng saueval "$[/opt/homebrew/bin/brew shellenv]"
0Thay đổi điều này để trỏ đến thư mục người dùng của bạn trong đó
brew install openssl
51 là tên tài khoản người dùng của bạneval "$[/opt/homebrew/bin/brew shellenv]"
1Bạn cũng cần thay đổi tham chiếu thẻ
brew install openssl
52 ngay bên dưới dòng DocumentRoot. Điều này cũng nên được thay đổi để trỏ đến gốc tài liệu mới của bạneval "$[/opt/homebrew/bin/brew shellenv]"
2Trong cùng khối
brew install openssl
52 đó, bạn sẽ tìm thấy cài đặt brew install openssl
54, cài đặt này sẽ được thay đổi như saueval "$[/opt/homebrew/bin/brew shellenv]"
3Ngoài ra, bây giờ chúng ta nên kích hoạt mod_rewrite được nhận xét theo mặc định. Tìm kiếm
brew install openssl
55 và bỏ ghi chú dòng bằng cách loại bỏ brew install openssl
56 ở đầu bằng cách nhấn brew install openssl
57 + brew install openssl
58 trên dòng [đây là cách nhanh chóng để bỏ ghi chú và ghi chú một hoặc nhiều dòngeval "$[/opt/homebrew/bin/brew shellenv]"
4Nhóm người dùng
Bây giờ chúng tôi có cấu hình Apache trỏ đến thư mục
brew install openssl
59 trong thư mục chính của chúng tôi. Tuy nhiên, một vấn đề vẫn tồn tại. Theo mặc định, apache chạy với tư cách là người dùng brew install openssl
70 và nhóm brew install openssl
70. Điều này sẽ gây ra sự cố về quyền khi cố gắng truy cập các tệp trong thư mục chính của chúng tôi. Khoảng một phần ba đường xuống của tệp brew install openssl
72, có hai cài đặt để đặt brew install openssl
73 và brew install openssl
74 Apache sẽ chạy bên dưới. Thay đổi những thứ này để phù hợp với tài khoản người dùng của bạn [thay thế brew install openssl
51 bằng tên người dùng thực của bạn], với một nhóm brew install openssl
76eval "$[/opt/homebrew/bin/brew shellenv]"
5Tên máy chủ
Apache thích có tên máy chủ trong cấu hình, nhưng điều này bị tắt theo mặc định, vì vậy hãy tìm kiếm
eval "$[/opt/homebrew/bin/brew shellenv]"
6và thay thế nó bằng
eval "$[/opt/homebrew/bin/brew shellenv]"
7Thư mục trang web
Bây giờ, bạn cần tạo một thư mục
brew install openssl
59 trong thư mục gốc của thư mục chính của bạn. Bạn có thể thực hiện việc này trong thiết bị đầu cuối của mình hoặc trong Finder. Trong thư mục brew install openssl
59 mới này, hãy tạo một brew install openssl
79 đơn giản và đặt một số nội dung giả vào đó như. /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
00eval "$[/opt/homebrew/bin/brew shellenv]"
8Khởi động lại apache để đảm bảo các thay đổi cấu hình của bạn có hiệu lực
eval "$[/opt/homebrew/bin/brew shellenv]"
9Nếu bạn gặp lỗi khi khởi động lại Apache, hãy thử xóa dấu ngoặc kép xung quanh chỉ định DocumentRoot và Directory mà chúng tôi đã thiết lập trước đó
Trỏ trình duyệt của bạn tới
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
01 sẽ hiển thị thông báo mới của bạn. Nếu bạn làm việc đó, chúng ta có thể tiếp tụcĐảm bảo rằng bạn đã xóa cổng
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
02 mà chúng tôi đã sử dụng trước đó. Ngoài ra, bạn có thể cần phải /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
03 + /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
04 để xóa bộ nhớ cache của trình duyệt và chọn tệp mớiKhắc phục sự cố Dịch vụ httpd không phải Sudo Bắt đầu
Tôi sẽ cập nhật phần này với nhiều mẹo hơn và những điều cần thử khi tôi tìm giải pháp cho các sự cố thường gặp. Vui lòng tham gia Trò chuyện bất hòa #macos của chúng tôi để nhận trợ giúp "trực tiếp"
Tôi đã chuyển từ sử dụng
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
05 sang khởi chạy brew install openssl
7 với quyền root [mặc dù nó chạy với tư cách là người dùng/nhóm được xác định trong brew install openssl
72] và đối với những người đã nâng cấp từ phiên bản đó lên phiên bản này, đã xảy ra sự cốBản thân tôi cũng gặp một số vấn đề nhưng có thể làm cho nó hoạt động khá dễ dàng, nhưng những người khác đã báo cáo các vấn đề phổ biến hơn. Vui lòng thử các bước này nếu Apache của bạn không khởi động khi bạn sử dụng
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
08Trước tiên, hãy thử bắt đầu apache trực tiếp với
brew install openssl
00Điều này bỏ qua lệnh brew services và thường in ra các vấn đề cụ thể. Nếu bạn gặp sự cố được báo cáo về việc không thể ghi vào tệp nhật ký, hãy thử xóa tất cả các tệp nhật ký httpd nhật ký hiện tại
brew install openssl
01Sau đó thử bắt đầu lại
Nếu bạn thấy thông báo có nội dung như
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
09, hãy thử thay đổi cấu hình /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
10 trong brew install openssl
72 thànhCài đặt brew install openssl
02PHPNếu bạn hiện có cài đặt PHP qua Brew, trước tiên bạn cần dọn sạch thiết lập của mình bằng hướng dẫn Nâng cấp Homebrew trước khi tiếp tục với phần này
Cho đến cuối tháng 3 năm 2018, tất cả các brew liên quan đến PHP đã được xử lý bởi tab
brew install openssl
0, nhưng điều đó đã không còn được dùng nữa, vì vậy bây giờ chúng tôi sử dụng những gì có sẵn trong gói brew install openssl
1. Đây phải là một bộ gói được duy trì tốt hơn, nhưng kém hoàn thiện hơn nhiềuPHP7. 0, PHP7. 1, PHP7. 2, PHP7. 3 và PHP 7. 4 đã không được dùng nữa và bị xóa khỏi Brew vì chúng không được hỗ trợ và mặc dù nó không được khuyến nghị sản xuất, nhưng có những lý do chính đáng để thử nghiệm các phiên bản không được hỗ trợ này trong môi trường phát triển. Các phiên bản này cũng cần được "xây dựng từ nguồn" để sử dụng các phiên bản mới nhất của
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
14 và /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
15Chỉ PHP8. 0 đến 8. 1 được hỗ trợ chính thức bởi Brew, nhưng chúng cũng phải được xây dựng khá chậm. Đối với phiên bản mới nhất của hướng dẫn, chúng tôi sẽ sử dụng vòi mới từ @shivammahtur vì có nhiều phiên bản [bao gồm cả PHP 8 mới nhất. 2] được xây dựng sẵn
brew install openssl
03Chúng tôi sẽ tiếp tục bằng cách cài đặt các phiên bản PHP khác nhau và sử dụng một tập lệnh đơn giản để chuyển đổi giữa chúng khi chúng tôi cần. Vui lòng loại trừ bất kỳ phiên bản nào bạn không muốn cài đặt
brew install openssl
04Ngoài ra, bạn có thể cần điều chỉnh cài đặt cấu hình của PHP theo nhu cầu của mình. Một điều phổ biến cần thay đổi là cài đặt bộ nhớ hoặc cấu hình
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
16. Các tệp /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
17 cho mỗi phiên bản PHP được đặt trong các thư mục saubrew install openssl
05Tại thời điểm này, tôi thực sự khuyên bạn nên đóng TẤT CẢ các tab và cửa sổ thiết bị đầu cuối của mình. Điều này có nghĩa là mở một thiết bị đầu cuối mới để tiếp tục với bước tiếp theo. Điều này được khuyến khích mạnh mẽ vì một số vấn đề về đường dẫn thực sự kỳ lạ có thể phát sinh với các thiết bị đầu cuối hiện có [tin tôi đi, tôi đã thấy nó. ]
Chúng tôi đã cài đặt nhưng không liên kết các phiên bản PHP này. Để chuyển sang PHP
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
18 chẳng hạn, chúng ta có thể gõbrew install openssl
06Kiểm tra nhanh rằng chúng tôi đang ở đúng phiên bản
brew install openssl
07brew install openssl
08và để chuyển sang
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
19brew install openssl
06Và kiểm tra xem nó đã thay đổi chính xác chưa
brew install openssl
07brew install openssl
11Cài đặt Apache PHP - Phần 1
Bạn đã cài đặt thành công các phiên bản PHP của mình, nhưng chúng tôi cần yêu cầu Apache sử dụng chúng. Một lần nữa, bạn sẽ cần chỉnh sửa tệp
brew install openssl
45 cuộn xuống cuối mục nhập /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
21Nếu bạn đã làm theo hướng dẫn này một cách chính xác, mục nhập cuối cùng phải là mô-đun
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
22 của bạneval "$[/opt/homebrew/bin/brew shellenv]"
4Bên dưới này thêm các mô-đun
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
23 saubrew install openssl
13Chúng tôi chỉ có thể có một mô-đun xử lý PHP tại một thời điểm, vì vậy hiện tại, chúng tôi đã để lại mục nhập
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
24 không ghi chú trong khi tất cả các mô-đun khác được ghi chú. Điều này sẽ yêu cầu Apache sử dụng PHP 8. 2 để xử lý các yêu cầu PHP. [Chúng tôi sẽ thêm khả năng chuyển đổi phiên bản PHP sau]Ngoài ra, bạn phải đặt Chỉ mục thư mục cho PHP một cách rõ ràng, vì vậy hãy tìm kiếm khối này
brew install openssl
14và thay thế nó bằng cái này
brew install openssl
15Lưu tệp và dừng Apache rồi bắt đầu lại, bây giờ chúng tôi đã cài đặt PHP
eval "$[/opt/homebrew/bin/brew shellenv]"
9Xác nhận cài đặt PHP
Cách tốt nhất để kiểm tra xem PHP đã được cài đặt và chạy như mong đợi hay chưa là sử dụng phpinfo[]. Đây không phải là thứ bạn muốn để lại trên máy sản xuất, nhưng nó vô giá trong môi trường phát triển
Chỉ cần tạo một tệp có tên
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
25 trong thư mục /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
26 mà bạn đã tạo trước đó bằng một lớp lót nàybrew install openssl
17Trỏ trình duyệt của bạn tới
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
27 và bạn sẽ thấy một trang thông tin PHP sáng bóngNếu bạn thấy một kết quả phpinfo tương tự, xin chúc mừng. Bây giờ bạn đã chạy thành công Apache và PHP. Bạn có thể kiểm tra các phiên bản PHP khác bằng cách bình luận mục nhập
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
28 và bỏ ghi chú một trong các phiên bản khác. Sau đó, chỉ cần khởi động lại apache và tải lại cùng một trangTập lệnh chuyển đổi PHP
Chúng tôi mã hóa cứng Apache để sử dụng PHP 8. 2, nhưng chúng tôi thực sự muốn có thể chuyển đổi giữa các phiên bản. May mắn thay, một số cá nhân siêng năng đã làm việc chăm chỉ cho chúng tôi và viết một tập lệnh trình chuyển đổi PHP nhỏ rất tiện dụng
Tập lệnh
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
29 này đã được cập nhật để hỗ trợ PHP 8. 0. Nếu bạn muốn sử dụng phiên bản đó, vui lòng lặp lại quy trình bên dưới để có phiên bản mới nhấtChúng tôi sẽ cài đặt tập lệnh
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
29 vào tiêu chuẩn của nhà sản xuất bia /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
31brew install openssl
18Kiểm tra chuyển đổi PHP
Sau khi hoàn thành các bước này, bạn sẽ có thể chuyển đổi phiên bản PHP của mình bằng cách sử dụng lệnh
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
29 theo sau là giá trị hai chữ số cho phiên bản PHPbrew install openssl
19Bạn có thể sẽ phải nhập mật khẩu quản trị viên của mình và nó sẽ cung cấp cho bạn một số phản hồi
brew install openssl
20Kiểm tra xem Apache của bạn hiện có đang chạy PHP 8 không. 1 bằng cách trỏ lại trình duyệt của bạn tới
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
27. Với một chút may mắn, bạn sẽ thấy một cái gì đó như thế nàyKhắc phục sự cố chuyển đổi PHP
Nếu bạn đã nâng cấp từ phiên bản trước của hướng dẫn này và đã cài đặt PHP8, bạn có thể thấy thông báo như.
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
34, thì bạn cần cài đặt lại tập lệnh /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
29 đã được cập nhậtNếu bạn nhận được thông báo về các phiên bản PHP xung đột, thì có thể bạn đã gặp xung đột giữa các lần nhấn. Bạn sẽ cần gỡ cài đặt các phiên bản PHP trước đó của mình, sau đó xóa phần nhấn cũ, sau đó thêm phần nhấn mới, sau đó cài đặt lại các phiên bản PHP bằng cú pháp ở trên. Ví dụ
brew install openssl
21Kiểm tra thiết lập của bạn với Grav CMS
Còn cách nào tốt hơn để kiểm tra thiết lập mạnh mẽ mới của bạn hơn là nhanh chóng cài đặt và kiểm tra Grav. CMS tệp phẳng tốt nhất trên thế giới 😆. Chúng ta có thể làm điều này chỉ với một vài lệnh đầu cuối nhanh
brew install openssl
22brew install openssl
23Sau đó, chỉ cần giải nén tệp zip
brew install openssl
24Thao tác này sẽ giải nén tệp zip vào thư mục
/bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
36. Sau đó, chỉ cần trỏ trình duyệt của bạn vào thư mục này /bin/bash -c "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/HEAD/install.sh]"
37Điền thông tin liên quan để tạo người dùng quản trị viên mới và chỉ cần nhấp vào Tạo người dùng để vào quản trị viên. Không cần các bước khác
Tất cả đã được làm xong
Cập nhật PHP và các gói Brew khác
Brew giúp cập nhật PHP và các gói khác mà bạn cài đặt cực kỳ dễ dàng. Bước đầu tiên là cập nhật Brew để nó nhận được danh sách các bản cập nhật có sẵn
brew install openssl
25Điều này sẽ tạo ra một danh sách các bản cập nhật có sẵn và mọi công thức đã xóa. Để nâng cấp các gói chỉ cần gõ
brew install openssl
26Bạn sẽ cần chuyển sang từng phiên bản PHP đã cài đặt của mình và chạy lại cập nhật để nhận các bản cập nhật cho từng phiên bản PHP và đảm bảo rằng bạn đang chạy phiên bản PHP mà bạn dự định
Kích hoạt các phiên bản PHP cụ thể/mới nhất
Do cách liên kết PHP của chúng tôi được thiết lập, mỗi lần chỉ có một phiên bản PHP được liên kết, chỉ phiên bản PHP đang hoạt động hiện tại mới được cập nhật lên phiên bản mới nhất. Bạn có thể xem phiên bản hoạt động hiện tại bằng cách gõ
brew install openssl
07Và bạn có thể xem các phiên bản cụ thể của gói PHP bằng cách gõ
brew install openssl
28brew install openssl
29OK, vậy là kết thúc Phần 1 của loạt bài gồm 3 phần này Bây giờ bạn đã có một Apache 2 đầy đủ chức năng. 4 với một cách nhanh chóng và dễ dàng để chuyển đổi giữa PHP 7. 0, 7. 1, 7. 2, 7. 3, 7. 4, 8. 1 và 8. 2. Hãy xem Phần 2 để tìm hiểu cách thiết lập môi trường của bạn với MySQL, Máy chủ ảo, bộ nhớ đệm APC, YAML và Xdebug. Ngoài ra, hãy xem Phần 3 để tìm hiểu cách thiết lập SSL cho Máy chủ ảo Apache của bạn