PHP 7을 설치하는 방법?


116

PHP 7은 어제 나 왔으며 시도해보고 싶습니다.

PHP 7.0.0에는 Zend Engine의 새로운 버전, 다양한 개선 사항 및

  • 성능 향상 : PHP 7은 PHP 5.6보다 최대 2 배 빠릅니다.
  • 메모리 사용량 대폭 감소
  • 추상 구문 트리
  • 일관된 64 비트 지원
  • 개선 된 예외 계층
  • 예외로 변환 된 많은 치명적 오류
  • 안전한 난수 생성기
  • 이전 및 지원되지 않는 SAPI 및 확장 제거
  • 널 병합 연산자 (??)
  • 반환 및 스칼라 형식 선언
  • 익명 클래스
  • 제로 비용 주장

php.net


현재 우분투 버전에 설치할 수 있습니까?

현재 제한 사항이나 알려진 호환성 문제가 있습니까?



1
PHP 7은 Ubuntu 16, Xenial에서 기본값입니다.
Buttle Butkus

답변:


180

다음을 수행 할 수 있습니다.

sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

PHP 5를 선택적으로 제거합니다 :

sudo apt-get remove php5-common -y

또는 구성 파일을 포함하여 직접 제거하십시오.

sudo apt-get purge php5-common -y

마지막으로 PHP 7을 설치하십시오.

sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y

선택적으로 필요하지 않은 패키지를 정리하십시오.

sudo apt-get --purge autoremove -y

또는이 스크립트 스크립트를 사용 하거나이 블로그의 지침에 따라 소스에서 PHP 7.0을 설치할 수 있습니다 .

편집하다:

Ubuntu 16.4에서 PHP5가 기본 PHP로 PHP7로 대체 되었으므로 Ubuntu 16.04에 PHP7을 설치하십시오.

sudo apt-get install php7.0 

또는

sudo apt-get install php

12
아빠를 담당하는 사람은 누구입니까? zend가 공식적으로 지원합니까?
k0pernikus

19
@ k0pernikus Zend는 Zend 서버 이외의 것을 지원하지 않습니다 :-) 공식 우분투 패키지는 우분투의 관리자가 지원합니다. 이 PPA는 Ondřej Surý의 개인적인 노력입니다. Ondrey는 데비안에서 PHP 트리의 공식 소유자이며 우분투에서 상류에 있습니다. 여기를 참조하십시오 : qa.debian.org/developer.php?login=ondrej%40debian.org
Palantir

4
어쨌든, 그의 PHP PPA는 공식 Magento 배포판이 5.5 및 5.6 버전을 광고하는 시점까지 매우 인기가 있습니다 : devdocs.magento.com/guides/v2.0/install-gde/prereq/…
Palantir

3
JFTR memcached는 아직 PHP 7.0에 업스트림 준비가되어 있지 않습니다. 나는 memcache를 보지 않고 패키징 스크립트를 크게 재 작성 한 후에도 더 작은 버그를 제거했습니다.
oerdnj

4
시도 @Xeridea sudo apt-get install libapache2-mod-php7.0다음 sudo a2enmod php7.0다시 시작 아파치
andrewtweber

21

두 가지 옵션이 있습니다.

  • PHP7이 포함 된 새로운 Ubuntu 릴리스가 나타날 때까지 기다리십시오.

    Ubuntu는 대부분의 소프트웨어에 대한 주요 새 버전 릴리스를 기존 Ubuntu 버전으로 릴리스하지 않습니다. 새로운 주요 버전의 릴리스를 얻으려면 최신 버전의 Ubuntu가 나올 때까지 기다려야합니다.

  • PPA와 같은 타사 버전 설치

    PPA는 Ubuntu의 출시 일정 또는 정책에 구속되지 않으므로 다른 버전 중에서도 버전을 더 자주 변경할 수 있습니다. Tshilidzi Mudau의 답변에 언급 된 PPA는 PHP로 최신 정보를 유지하는 인기있는 방법입니다.

    sudo add-apt-repository ppa:ondrej/php
    

    PPA는 Ubuntu 제공 버전과 동일한 공식 Ubuntu 지원을 제공하지 않으며 일정 및 정책이 다르기 때문에 품질 또는 보안 표준이 다를 수 있습니다. 이 경우이 PPA를 제공하는 개발자는 여기 커뮤니티에 잘 알려져 있습니다.


1
그리고 소스에서 설치하는 옵션.
j0h

18

다음은 phpMyAdmin (full LAMP stack)을 포함하여 의존성으로 PHP를 완전히 업데이트하는 명령 목록입니다.

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get update
sudo apt-get purge php5-fpm
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm php7.0-curl php7.0-gd php7.0-bz2

이제 PHP7이 있습니다. phpMyAdmin으로 가자 : (이미 PHP7이 설치되어 있다면 여기에서 시작하십시오)

cd /var/www/html/
sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.5.3.1/phpMyAdmin-4.5.3.1-all-languages.zip
sudo unzip phpMyAdmin-4.5.3.1-all-languages.zip
sudo mv phpMyAdmin-4.5.3.1-all-languages/ phpmyadmin/
sudo mkdir -m 777 phpmyadmin/config/
sudo /etc/init.d/apache2 restart

3
libapache2-mod-php7.0정확히 내가 필요한 것입니다, 감사합니다!
Jacer Omri


7

위의 프로세스는 Ubuntu 15.10 서버에서 작동하지 않았으므로 다른 사람들이 도움이되는 경우 효과가 있었던 것을 공유한다고 생각했습니다.

먼저 특정 주요 PHP 5 모듈을 제거해야했습니다.

sudo apt-get -y purge php5 libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-gd php5-imap php5-intl php5-json php5-mcrypt php5-mysql php5-pspell php5-readline php5-sqlite

그런 다음 남은 몇 가지 추가 사항을 제거하십시오.

sudo apt-get autoremove

그런 다음 PHP 7.0을 설치하십시오.

sudo apt-get install php7.0

그런 다음 PHPMyAdmin이 제거되면 Apache2가 시작되지 않으므로 구성 파일을 제거해야했습니다 (대신 이동할 수 있음).

sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf

그런 다음 Apache2를 다시 시작해야했습니다.

sudo service apache2 restart

PHP 7.0이 실행 중입니다 (로 확인 PHPINFO();)

그러나 PHPMyAdmin을 작동시키는 유일한 방법은 수동으로 설치 / 업그레이드하는 것입니다. 그렇지 않으면 소스에서 사용 가능한 최신 버전은 아직 PHP 7을 지원하지 않습니다.

** 편집 : 이제 GIT에서 복제하거나 소스에서 수동으로 컴파일하지 않고도 PHPMyAdmin을 호환되는 버전으로 업데이트하는 방법을 찾았으므로 아래에 추가하십시오.

먼저이 리포지토리, 업데이트 소스 목록 및 업그레이드를 추가하십시오 (NB : PHP7로 업그레이드하는 동안 제거 된 경우 업그레이드하지 않고 설치해야합니다).

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade

그러나 (내 서버에서) 설치하는 동안 데이터베이스 업그레이드 스크립트를 실행해야 upgrade_column_info_4_3_0+.sql했지만 다음 오류로 인해 실패했습니다.

mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'

오류를 무시하고 업그레이드를 완료하기로 결정했습니다. 설치 후 .sql 업그레이드 스크립트를 열었습니다./usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

이미 존재하는 2 개의 열을 만들려고하는 두 개의 위반 행을 제거하는 스크립트를 수동으로 실행했습니다 (제거 할 코드).

ALTER TABLE `pma__column_info`
ADD `input_transformation` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
ADD `input_transformation_options` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

마지막으로 설정 파일을 편집 /etc/phpmyadmin/config.inc.php하고 다음 두 줄을 추가해야했습니다.

$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

이 PHPMyAdmin이 성공적으로 업데이트되고 확장 기능이 활성화됩니다. 이것이 다른 사람들을 돕기를 바랍니다.


4

이 답변 (2017 년 2 월), 우분투 16.04 LTS에서 간단한 명령으로 PHP 7.0. *을 설치할 수 있습니다.

apt-get install php

타사 리포지토리를 추가 할 필요가 없습니다.


3

나는 ppa16.04 LTS에 추가 된 것으로 생각합니다 .

  1. 그냥 그렇게 sudo apt-get install php7.0하면됩니다.
  2. 다음을 실행하여 설치되었는지 확인하십시오. php --version
  3. 또한 info.phpApache의 문서 루트에서 파일을 작성할 수 있습니다 .
  4. 그것은 /var/www/html/디렉토리에 있습니다
  5. 운영 sudo gedit /var/www/html/info.php
  6. 파일에 다음을 추가하십시오 <?php phpinfo(); ?>.. 참고 : 파일은 사용자가 직접 작성했기 때문에 빈 파일입니다.
  7. 이제 아파치를 다시 시작하십시오 sudo service apache2 restart
  8. 웹 브라우저에서 http://localhost/info.phpPHP에 대한 모든 정보를 제공합니다.

도움이 되었기를 바랍니다 :)


1
Apache2에 추가 할 필요가 없습니까?
Arlen Beiler

그것은 ppa가 아니며 공식 우분투 빌드입니다.
Jeff Puckett

2

우분투 15.04 및 15.10에서 PHP 7 빌드를 완전히 설정하기 위해 몇 가지 다른 리소스를 수집하고 많은 문제를 해결했습니다. 데비안 패키지 스크립트는 아니지만 Ubuntu 종속성 및 구성을 설정합니다. 리소스는 여기 에서 찾을 수 있습니다 .

마스터를 통해 릴리스 브랜치를 선택하고 스크립트를 다시 실행해야 할 수도 있습니다.


2

나는 이것이 나쁜 생각 일지 모르지만 이것이 php7이 Ubuntu Server 12.04.5 (i386) 설치와 작동하도록하는 방법입니다.

sudo nano /etc/apt/sources.list

그런 다음 끝에 다음을 추가하십시오.
 

deb http://us.archive.ubuntu.com/ubuntu/ 신뢰할 수있는 주요 제한 우주 다중 우주
deb http://archive.canonical.com/ubuntu 신뢰할 수있는 파트너

그런 다음 평소대로 업데이트하십시오.

sudo apt-get 업데이트

아파치 서버에 PHP 7을 설치 한 후에는 파일을 새 디렉토리로 옮겨야 작동 할 수 있습니다.

sudo mv / var / www / * / var / www / html /
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.