Không thể cài đặt php5 trên Ubuntu 16.04


53

Vì vậy, gần đây tôi đã cài đặt Ubuntu đầu tiên của tôi, chính xác là bản dựng 16.04 hàng ngày trên máy tính xách tay mới của tôi vì phần cứng đã được cập nhật mới cho 15.10. Bây giờ tôi đang trong quá trình thiết lập nó và tôi muốn cài đặt php5 và một số tiện ích mở rộng.

Khi tôi thực thi, sudo apt-get install libapache2-mod-php5tôi nhận được thông báo lỗi rằng không có gói cài đặt nào có sẵn cho php5 và libapache2.

Thông báo lỗi là tiếng Đức, vì vậy tôi nghi ngờ rằng điều này sẽ giúp ích, nhưng dù sao thì đây là. :-) E: For package »libapache2-mod-php5« existiert kein Installationskandidat.

Tôi có cần thêm kho lưu trữ apt-get không? Hay tôi đang làm gì sai?



Câu trả lời:


76

TL; DR: Nếu bạn muốn ở lại với php5, bạn sẽ cần ở lại Ubuntu 14.04 LTS

Sử dụng PHP 7.0 trên Ubuntu 16.04 LTS

Ubuntu 16.04 đã chuyển sang PHP 7.0 với cơ sở hạ tầng mới cho gói PHP. Vì vậy, không, bạn không thể cài đặt php5 trên Ubuntu 16.04, nhưng bạn có thể cài đặt các gói PHP 7.0 với:

apt-get install libapache2-mod-php

Điều đó sẽ cài đặt một gói ảo phụ thuộc vào phiên bản PHP mới nhất và lấy libapache2-mod-php7.0làm phụ thuộc.

Nếu bạn đang tìm kiếm các tiện ích mở rộng, hãy luôn sử dụng biến thể không có phiên bản (ví dụ php-apcuthay vì php7.0-apcu) vì các tiện ích mở rộng PECL được đóng gói mà không có phiên bản để cho phép nâng cấp mượt mà.

Sử dụng PHP PPA để cài đặt PHP 5.6 với PHP 7.0

Có một tùy chọn để đồng cài đặt các gói PHP 5.6 bằng cách sử dụng ppa:ondrej/php.

Để biết thêm thông tin, vui lòng xem câu trả lời đó: https://askubfox.com/a/762161/309221

Trích xuất từ ​​liên kết trên:

Giả sử libapache2-mod-phplà một cách phù hợp để kích hoạt PHP trong Apache cho bạn, bạn có thể tiến hành theo cách này:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Chuyển đổi phiên bản PHP (Apache):

  • từ php5.6 đến php7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • từ php7.0 đến php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart


2
Không, không có gói PHP 5.x nào trong kho Xenial. Chỉ trong PPA.
oerdnj


Khi tôi chuyển sang php5.6, tôi đã gặp lỗi "Công việc cho apache2.service không thành công do quá trình kiểm soát đã thoát với mã lỗi. Xem" systemctl status apache2.service "và" Tạp chí -xe "để biết chi tiết.".
lyhong

Và tạp chí nói gì?
oerdnj

đã tìm thấy một cái gì đó giống như apache2 này: Lỗi cú pháp trên dòng 140 của /etc/apache2/apache2.conf: Lỗi cú pháp trên dòng 3 của / e
lyhong

25

EDIT: câu trả lời được chấp nhận không nói rõ ràng cách cài đặt PHP 5.6 và 7.0, vì vậy tôi muốn mở rộng nó.

Để biết thêm thông tin, vui lòng xem câu trả lời đó: https://askubfox.com/a/762161/309221

Trích xuất từ ​​liên kết trên:

Giả sử libapache2-mod-phplà một cách phù hợp để kích hoạt PHP trong Apache cho bạn, bạn có thể tiến hành theo cách này:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Chuyển đổi phiên bản PHP (Apache):

  • từ php5.6 đến php7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • từ php7.0 đến php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart


1
FYI: PPA bạn sử dụng được duy trì bởi người viết câu trả lời được chấp nhận. Và dòng cuối cùng trong câu trả lời đó: "Có một tùy chọn để đồng cài đặt các gói PHP 5.6 bằng ppa: ondrej / php". Lưu ý rằng bạn cũng không cài đặt các gói php5, nhưng php5.6
muru

1
Có một số khác biệt trong cách đóng gói và vị trí của các tệp cấu hình mà bất kỳ ai đang tìm kiếm các gói php5 cũ đều sẽ ngạc nhiên trong các gói mới.
muru

Tôi đã chỉnh sửa câu trả lời của mình để không nói rằng câu trả lời được chấp nhận là không chính xác, nhưng chỉ mở rộng nó.
FlavioEscobar

@NoBugs Nó có phần mở rộng hình ảnh được đóng gói. Hãy ngừng phun ra những thứ mà không ít nhất là kiểm tra cơ bản xem chúng có đúng hay không.
oerdnj

@FlavioEscobar Tôi đã hợp nhất các chỉnh sửa của bạn vào câu trả lời của tôi. Cảm ơn đã mở rộng câu trả lời.
oerdnj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.