Назад | Перейти на главную страницу

странно: 2 версии php на одном сервере

Мне нужно обновить 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» в консоли.