Một vài vấn đề khác nhau ở đây đều ẩn dưới khái niệm nhầm lẫn phiên bản PHP, vì vậy sẽ cố gắng giải quyết từng vấn đề một cách rõ ràng nhất có thể. Đầu tiên này:
Tôi nhận ra rằng có một sự trùng khớp giữa phiên bản PHP được báo cáo bởi phpinfo()
và php -v
(trong CLI).
phpinfo(): 5.5.24
php -v: 5.6.9
PHP CLI không giống như mô-đun PHP Apache.
Như tôi đã giải thích trong câu trả lời cho câu hỏi khác này ở đây , đừng hoảng sợ! Nếu bạn lo lắng về phiên bản PHP mà máy chủ Apache của bạn đang sử dụng, thì kết quả đầu ra phpinfo()
luôn là điều bạn nên chú ý. Mô-đun PHP Apache và nhị phân dòng lệnh PHP là hai thứ khác nhau không can thiệp lẫn nhau.
Chỉ cần chú ý đến đầu ra phpinfo()
nếu bạn quan tâm đến việc thiết lập phiên bản mô-đun PHP chính xác trong Apache.
Điều đó nói rằng, dường như bạn vẫn gặp sự cố khi tải mô-đun PHP chính xác được tải trong Apache:
Tôi đã cố gắng viết dòng này trong httpd.conf
:
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Hãy chắc chắn rằng máy chủ Apache của bạn đang tải mô-đun PHP chính xác.
Mặc dù những gì bạn đã làm về mặt kỹ thuật là chính xác, lý do duy nhất tôi có thể thấy để nó không hoạt động là bằng cách nào đó có một lệnh khác LoadModule php5_module
trong các tệp cấu hình Apache thay thế giá trị bạn đang đặt dòng đó.
Tôi khuyên bạn nên xem qua các ứng dụng httpd.conf
mà tôi cho là nằm ở đây /etc/apache2/httpd.conf
và xem có lẽ thực sự LoadModule php5_module
có cái nào khác mà bạn đã bỏ lỡ hoặc không nhận thấy khi chỉnh sửa tệp đó không. Nhìn vào tệp tương đương của tôi trong Mac OS X 10.9.5, tôi thấy dòng này được nhận xét ra vì tôi không sử dụng các thiết lập Mac OS X Apache / PHP và đọc một cái gì đó như thế này:
#LoadModule php5_module libexec/apache2/libphp5.so
Tất nhiên trong trường hợp của bạn, nó sẽ không bị lỗi. Thông tin chi tiết về cách định cấu hình Apache và PHP để phát triển web có thể được tìm thấy trên trang web này .
Nghiêm túc xem xét việc sử dụng MAMP như một giải pháp thay thế cho các quirks Mac OS X Apache / PHP.
Bây giờ tất cả những gì đã nói, tôi không biết bạn đang cố gắng làm gì, nhưng nếu bạn đang phát triển web trên hệ thống Mac OS X, bạn nên nghiêm túc xem xét sử dụng MAMP thay vì hack ngăn xếp web Mac OS X cốt lõi để có được mọi thứ đang chạy.
Lợi ích của MAMP là Mac OS X ở mức sản xuất cực kỳ tương đương với ngăn xếp LAMP. Và vì nó hướng đến sự phát triển web trong thế giới thực, nó có tất cả các mô-đun và cấu hình thiết lập chính xác như người ta nên thiết lập chúng.
Vấn đề cốt lõi với Apache và PHP trên Mac OS X là phần mềm thường lỗi thời, khó cấu hình / điều chỉnh và quản lý và đau đầu để gỡ lỗi khi những thứ như thế này xảy ra. Và điều gì sẽ xảy ra nếu một bản cập nhật Mac OS X xuất hiện cùng với việc xóa sạch các thiết lập Apache và PHP được thiết lập cẩn thận của bạn? Bạn đã trở lại một hình vuông.