Мне нужно обновить php 5.4 до 5.6, чтобы использовать мой фреймворк magento 2. Я применяю следующие команды:
echo "deb http://packages.dotdeb.org wheezy-php56 all" >> /etc/apt/sources.list.d/dotdeb.list echo "deb-src http://packages.dotdeb.org wheezy-php56 all" >> /etc/apt/sources.list.d/dotdeb.list wget http://www.dotdeb.org/dotdeb.gpg -O- | apt-key add - apt-get update apt-get install php5-cli php5-fpm
Это работает у меня сейчас в SSH:
# php -v
PHP 5.6.30-1~dotdeb+7.1 (cli) (built: Jan 21 2017 14:50:59)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Но Magento 2 не работает, и когда я помещаю echo phpversion (); в index.php у меня эта версия! 5.4.45-0 + deb7u5
Я использую debian и не понимаю, как у меня могут быть две другие версии php на одном сервере
Вы можете помочь мне ?
РЕДАКТИРОВАТЬ:
Содержимое / etc / apache2 / mods-available:
actions.conf deflate.conf php5_cgi.load.dpkg-remove
actions.load deflate.load php5.conf
alias.conf dir.conf php5.conf.dpkg-new
alias.load dir.load php5.load
asis.load disk_cache.conf php5.load.dpkg-new
auth_basic.load disk_cache.load proxy_ajp.load
auth_digest.load dump_io.load proxy_balancer.conf
authn_alias.load env.load proxy_balancer.load
authn_anon.load expires.load proxy.conf
authn_dbd.load ext_filter.load proxy_connect.load
authn_dbm.load file_cache.load proxy_ftp.conf
authn_default.load filter.load proxy_ftp.load
authn_file.load headers.load proxy_http.load
authnz_ldap.load ident.load proxy.load
authz_dbm.load imagemap.load proxy_scgi.load
authz_default.load include.load reqtimeout.conf
authz_groupfile.load info.conf reqtimeout.load
authz_host.load info.load rewrite.load
authz_owner.load ldap.conf setenvif.conf
authz_user.load ldap.load setenvif.load
autoindex.conf log_forensic.load speling.load
autoindex.load mem_cache.conf ssl.conf
cache.load mem_cache.load ssl.load
cern_meta.load mime.conf status.conf
cgid.conf mime.load status.load
cgid.load mime_magic.conf substitute.load
cgi.load mime_magic.load suexec.load
charset_lite.load negotiation.conf unique_id.load
dav_fs.conf negotiation.load userdir.conf
dav_fs.load php5_cgi.conf.dpkg-new userdir.load
dav.load php5-cgi.conf.dpkg-new usertrack.load
dav_lock.load php5_cgi.conf.dpkg-remove vhost_alias.load
dbd.load php5_cgi.load.dpkg-new
Содержимое / etc / apache2 / mods-enabled:
alias.conf autoindex.load mime.conf setenvif.conf
alias.load cgi.load mime.load setenvif.load
auth_basic.load deflate.conf negotiation.conf ssl.conf
authn_file.load deflate.load negotiation.load ssl.load
authz_default.load dir.conf php5.conf status.conf
authz_groupfile.load dir.load php5.load status.load
authz_host.load env.load reqtimeout.conf
authz_user.load expires.load reqtimeout.load
autoindex.conf headers.load rewrite.load
При установке по умолчанию php установлен как apache-модуль. например пакет libapache2-mod-php5
другие возможности для включения php в apache могут быть cgi, fast-cgi, fcgid ... (здесь вы должны искать в * cgi * -config путь к php-двоичному файлу. Но я думаю, вы используете php как apache модуль, поэтому проверьте следующее.
поиск php-пакетов:
# dpkg -l | grep php
ii libapache2-mod-php5 5.6.29-1~dotdeb+7.1 [...]
если у вас нет этого номера версии, проверьте, установлен ли пакет из репозитория dotdebian. (версия, выбранная по умолчанию для установки, помечается знаком *** перед номером версии)
Вы можете проверить, из какого репозитория будет установлен пакет, с помощью apt-cache.
# apt-cache policy libapache2-mod-php5
Установить пакет из явного репозитория можно с помощью ключа -t
# apt-get -t wheezy-php56 install libapache2-mod-php5
как насчет php в командной строке?
когда вы запускаете "php" в командной строке, выполняется другой двоичный файл.
узнать, какой двоичный файл используется и в каком пакете он установлен:
# dpkg -S $(readlink -f $(which php))
php5-cli: /usr/bin/php5
В этом примере пакет php5-cli содержит двоичный файл, используемый при вводе «php» в консоли.