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

Добавление CLI для PHP5 на живом сервере

Я хочу добавить поддержку командной строки для PHP5 на моем сервере. Когда я бегу aptitude install php5-cli Я получаю сообщение о том, что у моих модулей / пакетов PHP есть неудовлетворенные зависимости.

Вот список пакетов, которые страдают от этих «неудовлетворенных зависимостей» и нуждаются в обновлении:

Все они зависят от php5-common.

Могу ли я обновить пакеты так же, как предлагает aptitude, не нарушая работу сайта?

Вывод от способности

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initialising package states... Done
The following packages are BROKEN:
  libapache2-mod-php5 php5-cgi php5-curl php5-gd php5-mysql 
The following NEW packages will be installed:
  php5-cli 
The following packages will be upgraded:
  php5-common 
1 packages upgraded, 1 newly installed, 0 to remove and 123 not upgraded.
Need to get 3,511kB of archives. After unpacking 7,803kB will be used.
The following packages have unmet dependencies:
  php5-gd: Depends: php5-common (= 5.3.3-1ubuntu12~lucid) but 5.3.5-1ubuntu7.2ppa1~lucid is to be installed.
  php5-curl: Depends: php5-common (= 5.3.3-1ubuntu12~lucid) but 5.3.5-1ubuntu7.2ppa1~lucid is to be installed.
  php5-mysql: Depends: php5-common (= 5.3.3-1ubuntu12~lucid) but 5.3.5-1ubuntu7.2ppa1~lucid is to be installed.
  php5-cgi: Depends: php5-common (= 5.3.3-1ubuntu12~lucid) but 5.3.5-1ubuntu7.2ppa1~lucid is to be installed.
  libapache2-mod-php5: Depends: php5-common (= 5.3.3-1ubuntu12~lucid) but 5.3.5-1ubuntu7.2ppa1~lucid is to be installed.
The following actions will resolve these dependencies:

Upgrade the following packages:
libapache2-mod-php5 [5.3.3-1ubuntu12~lucid (now) -> 5.3.5-1ubuntu7.2ppa1~lucid (lucid)]
php5-cgi [5.3.3-1ubuntu12~lucid (now) -> 5.3.5-1ubuntu7.2ppa1~lucid (lucid)]
php5-curl [5.3.3-1ubuntu12~lucid (now) -> 5.3.5-1ubuntu7.2ppa1~lucid (lucid)]
php5-gd [5.3.3-1ubuntu12~lucid (now) -> 5.3.5-1ubuntu7.2ppa1~lucid (lucid)]
php5-mysql [5.3.3-1ubuntu12~lucid (now) -> 5.3.5-1ubuntu7.2ppa1~lucid (lucid)]

Score is 340

Мой ответ может быть! ;-)

PHP 5.3.3 - 5.3.5 не имеет значения. То есть, если только Ubuntu / Debian не совершил чего-то лишнего. Но точечные выпуски (например, с 5.3.x по 5.3.y) никогда не должны нарушать набор функций.

То есть, надеюсь, вы не делали сумасшедших хаков и, например, полагался на ошибки в 5.3.3, которые были исправлены в 5.3.5 и, следовательно, вызывали регресс. Самый простой способ проверить это - запустить тестовую виртуальную машину и посмотреть, работает ли ваш сайт (или даже лучше: ваш набор тестов работает).

Еще одна уловка - попытаться установить 5.3.3 - вот идея (обратите внимание, что у меня другая версия):

# apt-cache showpkg php5-cli
Package: php5-cli
Versions: 
5.2.10.dfsg.1-2ubuntu6.10
...

(Я обрезал вывод.)

Затем установите с помощью:

# apt-get install php5-cli=5.2.10.dfsg.1-2ubuntu6.10
...

HTH

Вы используете Nginx PPA, и Aptitude пытается обновить пакеты для более новых версий. Если вы хотите установить php5-cli из репозитория Ubuntu, вы должны использовать aptitude install php5-cli=5.3.3-1ubuntu12~lucid.