ubuntu उन्नयन के बाद phpmyadmin सहानुभूति त्रुटि


15

मेरे ubuntu सर्वर के 13.04 के उन्नयन के बाद मेरा phpmyadmin अब उपलब्ध नहीं है। ब्राउज़र 500 (आंतरिक सर्वर त्रुटि) और त्रुटि में रिपोर्ट करता है। यह कहता है:

PHP घातक त्रुटि: अपेक्षित_ऑनस (): आवश्यक ओपनिंग '' ./books /php-gettext/gettext.inc '(शामिल_पथ ='। ') in /rr/share/phpmykmin/lbooks/select_lang.lib.php लाइन 370 पर।

कोई भी अन्य php सॉफ्टवेयर मशीन पर ठीक काम करता है और इसी तरह mysql भी। Phpmyadmin को सही ढंग से स्थापित किया गया है और डिस्ट-अपग्रेड से पहले ठीक काम किया है। मैंने भी किया sudo aptitude reinstall phpmyadminलेकिन इससे कोई फायदा नहीं हुआ।

phpmyadmin की संस्करण संख्या 4: 3.5.8.1-1 है

किसी भी विचार, यहाँ क्या गलत हो सकता है?

/ संपादित करें: अब तक मुझे पता चला है, कि यहाँ सहेलियाँ काम नहीं करती हैं:

mcnesium@fluse:/usr/share/phpmyadmin/libraries/php-gettext$ ls -l
total 0
lrwxrwxrwx 1 root root 36 Apr 25 03:38 gettext.inc -> ../../../php/php-gettext/gettext.inc
lrwxrwxrwx 1 root root 36 Apr 25 03:38 gettext.php -> ../../../php/php-gettext/gettext.php
lrwxrwxrwx 1 root root 36 Apr 25 03:38 streams.php -> ../../../php/php-gettext/streams.php

मैंने फ़ोल्डर का बैकअप लिया php-gettextऔर एक से अधिक सिम्प्लाइड को cp -r'd किया, अब यह काम करता है। तो यह वास्तव में एक सहानुभूति-समस्या प्रतीत होती है।

यह मेरी शुरुआत है /etc/phpmyadmin/apache.conf

# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

इसलिए इसे तुरंत सहानुभूति का पालन करना चाहिए। ubuntu उन्नयन से पहले सब कुछ ठीक काम किया। तो सहानुभूति के साथ क्या बात है?


के तहत अनुमतियों की जाँच करें /usr/share/php/php-gettext। क्या आप SELinux / AppArmor का उपयोग कर रहे हैं?
'19

जवाबों:


7

मेरे लिए निम्नलिखित समाधान से समस्या हल हुई:

मेरी वेबसाइट conf फ़ाइल में, मेरे पास निम्न अनुभाग है:

<IfModule mod_php5.c>
    AddType application/x-httpd-php .php

    php_flag magic_quotes_gpc Off
    php_flag track_vars On
    php_flag register_globals Off
    php_admin_flag allow_url_fopen Off
    php_value include_path .
    php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
    php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/
</IfModule>

केवल वही परिवर्तन जो मैंने उबंटू 13.04 इंस्टॉल के बाद से किया है, में शामिल है / usr / share / php / php-gettext / में open_basedir, और उसने यह चाल चली।


23

दूसरो के लिए:

sudo apt-get install php-gettext

उत्तर हो सकता है (विशेष रूप से php7 के साथ जैसा कि ऐसा लगता है कि यह डिफ़ॉल्ट रूप से शामिल नहीं है, हो सकता है क्योंकि यह एक नाशपाती एक्सटेंशन है)।


मुझे उबंटू की एक नई स्थापना 16.04 करने के बाद त्रुटि मिली। इसने 15.10 से 16.04 के उन्नयन के बाद काम किया, लेकिन मुझे अन्य समस्याओं के कारण नए सिरे से स्थापित करना पड़ा। स्पष्ट रूप से स्थापित करने php-gettextपैकेज (और जोड़ने Require all grantedके लिए phpmyadmin.conf) बनाया इसे फिर से काम करते हैं।
बोवेंडर

1
यह वास्तविक उत्तर है!
टीका

उसके लिए धन्यवाद; मैंने ऐसा नहीं सोचा था; यह और php-mbstringphpmyadmin पाने के लिए आवश्यक थे मेरे लिए php7 के साथ काम करने के लिए
झगमा

1
यह अजीब है, क्योंकि php-gettext phpmyadmin पैकेज की निर्भरता है: packages.ubuntu.com/xenial/phpmyadmin तो मुझे यकीन है कि क्यों यह पहले से ही वहाँ नहीं है नहीं कर रहा हूँ।
सैम विल्सन

पहले LAMP स्थापित करें, फिर phpmyadmin, शायद यह समस्या का हिस्सा है
दो बार

5

अपने तो open_basedirशामिल /usr/share/php/php-gettext/पहले से ही (मेरे मामले में) और आप इसे पिछले जवाब के साथ काम करने के लिए नहीं मिल सकता है तो कार्य करें:

sudo rm /usr/share/phpmyadmin/libraries/php-gettext/*

प्रतीकात्मक लिंक को हटाता है

sudo ln /usr/share/php/php-gettext/* /usr/share/phpmyadmin/libraries/php-gettext

कड़ी बनाता है

इससे phpmyadmin फिर से काम करता है। यह 13.04 में क्यों टूट गया और प्रतीकात्मक लिंक का पालन नहीं किया गया जबकि Apache.conf का कहना है कि उन्हें चाहिए, मेरे लिए एक रहस्य है।


धन्यवाद, यह किया है। Open_basedir लाइन में पहले से php-gettext डायरेक्टरी मौजूद थी इसलिए उन लिंक्स को फिर से इंस्टॉल करना आवश्यक था।
कर्मा फुसेबॉक्स

0

मैं अक्षम (साथ उपसर्ग करना पड़ा #) Alias /phpmyadmin /usr/share/phpmyadminमें /etc/apache2/conf-available/phpmyadmin.confके बाद से मैं phpmyadmin के लिए एक कस्टम vhost फ़ाइल उपयोग कर रहा हूँ एक उप डोमेन पर यह सेवा करने के लिए। अतिरिक्त के साथ Aliasयह किसी कारण के लिए काम नहीं किया।


0

अगर phpMyAdmin एक Nginx सर्वर पर चलता है, तो php.iniअतिरिक्त रूप /usr/share/php/php-php-gettextसे open_basedirकुंजी को पथ जोड़ना होगा ।

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