Щоб налаштувати php7 для роботи з вашим сервером, вам потрібно виконати певну конфігурацію:
1. Переконайтесь, що ви видалили будь-які сліди php/php5
Відкрийте термінал Ctrl+ Alt+ Tі:
cd /etc/apache2/mods-enabled
ls -la
Вихід не повинен містити жодного php5.conf
або php5.load
, але якщо він є, виконайте наступне:
# this is the proper way of disabling modules
sudo a2dismod php5
# run this only if the above command didn't remove the php5 sym-links
sudo rm php5.load
sudo rm php5.conf
Тепер додайте php7.0.conf
і php7.0.load
замість цього:
# this is the proper way of enabling modules
sudo a2enmod php7.0
# run this only if the above command didn't create the php7.0 sym-links
sudo ln -s php7.0.conf ../mods-available/php7.0.conf
sudo ln -s php7.0.load ../mods-available/php7.0.load
Вихід ls -la php*
має бути таким:
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.conf -> ../mods-available/php7.0.conf
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.load -> ../mods-available/php7.0.load
Після роботи з модулями ми зараз переходимо до /etc/apache2/conf-enabled
каталогу. Видаліть будь-які сліди php / php5 і тутsudo rm <name>
Потім, якщо потрібно, зробіть:
# the proper way of enabling configs
sudo a2enconf php7.0-cgi
sudo a2enconf php7.0-fpm
# do those commands only if the above didn't work out
sudo ln -s php7.0-cgi.conf ../conf-available/php7.0-cgi.conf
sudo ln -s php7.0-fpm.conf ../conf-available/php7.0-fpm.conf
Вихід ls -la php*
має бути таким:
lrwxrwxrwx 1 root root 33 Apr 21 17:00 php7.0-cgi.conf -> ../conf-available/php7.0-cgi.conf
lrwxrwxrwx 1 root root 33 Apr 21 17:01 php7.0-fpm.conf -> ../conf-available/php7.0-fpm.conf
2. Перезапуск Apache2
Перед перезапуском Apache переконайтесь, що очистити Apache, error.log
а потім перезапустіть:
sudo su
> /var/log/apache2/error.log
exit
sudo service apache2 restart
Тепер перевірте error.log
, видавши cat /var/log/apache2/error.log | less
(пропуск через менше дозволяє легко прокручувати вгору та вниз, q
виходить з виводу).
Якщо ваш error.log
вміщує багато (і я буквально маю на увазі купу ), деякі MIBS not found
роблять наступне:
sudo apt install libsnmp-dev
sudo net-snmp-config --snmpconfpath
sudo apt-get install snmp snmp-mibs-downloader
sudo su
> /var/log/apache2/error.log
exit
sudo service apache2 restart
Перевірка ще раз error.log
тепер має містити лише 3 рядки:
[Sat Apr 23 01:39:07.504005 2016] [mpm_prefork:notice] [pid 1647] AH00169: caught SIGTERM, shutting down
[Sat Apr 23 01:39:08.685774 2016] [mpm_prefork:notice] [pid 9590] AH00163: Apache/2.4.18 (Ubuntu) mod_perl/2.0.9 Perl/v5.22.1 configured -- resuming normal operations
[Sat Apr 23 01:39:08.685938 2016] [core:notice] [pid 9590] AH00094: Command line: '/usr/sbin/apache2'
Тепер ваш Apache з php7.0 повинен бути правильно налаштований.
php
команда) є ортогональною для інших PHP SAPI (apache2, FPM, CGI, ...), тому робочий командний рядок PHP нічого не говорить про роботу PHP на сервері HTTP.