У меня чистый VPS, с Ubuntu 14.04 LTS x64. И попробовал следующее:
# Upgrade The Base Packages
apt-get update
apt-get upgrade -y
# Add A Few PPAs To Stay Current
apt-get install -y software-properties-common
apt-add-repository ppa:nginx/stable -y
apt-add-repository ppa:rwky/redis -y
apt-add-repository ppa:chris-lea/node.js -y
apt-add-repository ppa:ondrej/php5-5.6 -y
Но тогда это терпит неудачу в последнем:
root@xxx:~# apt-add-repository ppa:ondrej/php5-5.6 -y
gpg: keyring `/tmp/tmp9jdzm9kw/secring.gpg' created
gpg: keyring `/tmp/tmp9jdzm9kw/pubring.gpg' created
gpg: requesting key E5267A6C from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp9jdzm9kw/trustdb.gpg: trustdb created
gpg: key E5267A6C: public key "Launchpad PPA for Ond\xc5\x99ej Sur�" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
self.run()
File "/usr/lib/python3.4/threading.py", line 868, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 687, in addkey_func
func(**kwargs)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 370, in add_key
return apsk.add_ppa_signing_key()
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 261, in add_ppa_signing_key
tmp_export_keyring, signing_key_fingerprint, tmp_keyring_dir):
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 210, in _verify_fingerprint
got_fingerprints = self._get_fingerprints(keyring, keyring_dir)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 202, in _get_fingerprints
output = subprocess.check_output(cmd, universal_newlines=True)
File "/usr/lib/python3.4/subprocess.py", line 605, in check_output
output, unused_err = process.communicate(inputdata, timeout=timeout)
File "/usr/lib/python3.4/subprocess.py", line 936, in communicate
stdout = _eintr_retry_call(self.stdout.read)
File "/usr/lib/python3.4/subprocess.py", line 487, in _eintr_retry_call
return func(*args)
File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 92: ordinal not in range(128)
Я не мог понять, что не так. Это все довольно просто.
ubuntu-14.04
php56
fiibaar
источник
источник
export LANG=C.UTF-8
, это сработало для меня.Ответы:
Правильный способ - включить поддержку UTF-8 в вашем терминале.
Сначала проверьте ваши локали:
locale -a
Затем установите языковой стандарт UTF-8 для en_US, например, следующим образом:
locale-gen en_US.UTF-8
Затем вам нужно экспортировать его:
export LANG=en_US.UTF-8
Тогда
add-apt-repository
команда будет работать нормально.Если это все еще не работает, попробуйте использовать эту строку:
LC_ALL=en_US.UTF-8 add-apt-repository -y ppa:ondrej/php
источник
Cannot add PPA: 'ppa:ondrej/php5-5.6'. Please check that the PPA name or format is correct.
ondrej/php
теперь содержит все версии PHP, поддерживаемые его автором.Я столкнулся с той же проблемой. Я думаю, что ошибка происходит из-за не западных символов в имени (Ond \ xc5 \ x99ej Sur ).
Убедитесь, что вы удалили php5.
Вы можете добавить репозиторий вручную:
Проверьте с помощью php -v, установлен ли у вас 5.6:
источник
Попробуйте установить языковой пакет, который может исправить ваши проблемы с кодировкой, например
Это обеспечит обновление данных перевода на английский язык для всех поддерживаемых пакетов (включая Python).
См .: UnicodeEncodeError: кодек «ascii» не может кодировать символ .
источник
Попробуйте следующее:
Пожалуйста, удалите, если вы уже установили php5.
Теперь попробуйте свежую установку.
Запустите,
gedit /etc/apt/sources.list
чтобы добавить следующие коды:Пожалуйста, внимательно редактируйте и добавляйте исходный код.
Сохраните и обновите его. (1234)
Теперь попробуйте установить php5.
После установки вы должны получить php5-5.6.
источник