PPA से PHP5.6 स्थापित करते समय उबंटू में यूनिकोडबॉन्ड्रार


10

मेरे पास एक साफ 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)

मैं पता नहीं लगा सका कि क्या गलत है। यह सब बहुत बुनियादी है।


1
डॉकर छवि बनाते समय बस वह त्रुटि मिली, रिपॉजिटरी को जोड़ने की कोशिश करते हुए export LANG=C.UTF-8, यह मेरे लिए काम करती है।
टॉमाज़ कोवलज़िक

@TomaszKowalczyk कि मेरे लिए भी काम किया, धन्यवाद!
हार्डसेटिंग

जवाबों:


12

उचित तरीका यह है कि अपने टर्मिनल में UTF-8 का समर्थन सक्षम करें।

पहले अपने स्थानों की जाँच करें:

locale -a

फिर, en_US के लिए UTF-8 लोकेल स्थापित करें, उदाहरण इस प्रकार है:

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


आपकी मदद के लिए बहुत बहुत धन्यवाद। यही एक तरीका था जिससे मुझे काम मिला। लेकिन लिनक्स चीजों को इतना जटिल क्यों बनाता है? क्या ऐसा कोई मानक नहीं हो सकता जिससे सभी कार्य सुचारू रूप से चल सकें? मैं यह नहीं कह रहा हूं कि विंडोज बढ़िया है क्योंकि मैं इसे लिनक्स के लिए खोद रहा हूं, लेकिन मेरे भगवान हमेशा कुछ काम नहीं करते हैं या त्रुटियों को फेंकते हैं। यह कितना निराशाजनक है। जो भी मेरी मनोदशा है, मैं इस सही प्रक्रिया के लिए धन्यवाद देना चाहता हूं।
मार्कनज

आपका स्वागत है! कुछ वितरण (विशेष रूप से VPS प्रदाताओं द्वारा अनुकूलित सर्वर संस्करण) को न्यूनतम के रूप में पकाया जाता है और इसमें कम जगह, संसाधनों के लिए UTF-8 समर्थन पैकेज शामिल नहीं होते हैं, जहां तक ​​मैं बता सकता हूं।
आर्द्रा

हम्म ... यह काम नहीं करता हैCannot add PPA: 'ppa:ondrej/php5-5.6'. Please check that the PPA name or format is correct.
किर्बी

@ किर्बी यह इसलिए है क्योंकि पीपीए नाम बदल दिया गया है। मैंने उसी हिसाब से अपना जवाब अपडेट किया है। एक ppa ondrej/phpअब अपने लेखक द्वारा बनाए सभी PHP संस्करण रखती है।
अरदा

4

मैंने उसी समस्या का सामना किया। मुझे लगता है कि नाम में गैर पश्चिमी पात्रों (Ond \ xc5 \ x99ej Sur ) के कारण त्रुटि आती है।

सुनिश्चित करें कि आपने php5 को हटा दिया है।

आप रिपॉजिटरी को मैन्युअल रूप से जोड़ सकते हैं:

# echo "deb http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu trusty main" > /etc/apt/sources.list.d/ondrej-php5-5_6-trusty.list

# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C

# apt-get install php5

Php -v से जांचें कि क्या आपने 5.6 स्थापित किया है:

# php -v
PHP 5.6.6-1+deb.sury.org~trusty+1 (cli) (built: Feb 20 2015 11:22:10) 

0

एक भाषा पैक स्थापित करने का प्रयास करें जो एन्कोडिंग के साथ आपके मुद्दों को सही कर सकता है, जैसे

sudo apt-get install language-pack-en

यह सभी समर्थित पैकेजों (पायथन सहित) के लिए अंग्रेजी अनुवाद डेटा अपडेट प्रदान करेगा।

देखें: UnicodeEncodeError: 'ascii' कोडेक वर्ण को एनकोड नहीं कर सकता है


0

निम्नलिखित का प्रयास करें:

  • कृपया निकालें यदि आपने पहले से ही php5 स्थापित किया है।

  • अब एक नए इंस्टॉलेशन का प्रयास करें।

  • gedit /etc/apt/sources.listनिम्नलिखित कोड जोड़ने के लिए चलाएँ :

    deb http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu trusty main 
    deb-src http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu trusty main
    

    कृपया स्रोत कोड को संपादित करने और जोड़ने के लिए सावधान रहें।

  • इसे सेव करें और अपडेट करें। (1234)

    sudo apt-get update  
    
  • अब php5 को स्थापित करने का प्रयास करें।

स्थापित होने के बाद आपको php5-5.6 मिलना चाहिए।


कोशिश की है कि। काम नहीं किया। यह एक ताजा स्थापित था, जिस तरह से उस पर php के बिना।
13

काम करने के लिए आपको ppa keys की आवश्यकता है।
अरदा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.