pdo_mysql 16.04 को अद्यतन करने पर हटा दिया गया


9

मैंने हाल ही में 16.04 LTS को अपडेट किया है। और इसने मेरे php को 7.0 पर अपडेट कर दिया। अब यह कुछ कैसे pdo_mysql को हटा दिया। मुझे Magento की वेबसाइट विकसित करने के लिए इस एक्सटेंशन की आवश्यकता है। Phpinfo में, मुझे लगता है

pdo समर्थन: सक्षम pdo ड्राइवर: कोई मान नहीं

मैंने बहुत कुछ जाना है, और इन समाधानों को पाया है:

  1. Php-mysql स्थापित करें (यह पहले से ही सबसे नया संस्करण था)
  2. Php7.0-mysql स्थापित करें (यह पहले से ही सबसे नया संस्करण था)
  3. Php.ini (/etc/php/7.0/apache2/php.ini) में निम्न परिवर्तन: सक्षम एक्सटेंशन pdo.so, pdo_mysql.so, mysqli.so। और अपने सटीक मार्ग (परिवर्तन करने के बाद पुनः आरंभ करने वाले) देकर भी ऐसा ही प्रयास किया
  4. यहां तक ​​कि pecl का उपयोग करके pdo_mysql स्थापित करने का प्रयास किया गया।

उपरोक्त तरीकों में से कोई भी सहायक नहीं था, मैं अब लगभग 2 दिनों के लिए इस पर अपना सिर तोड़ रहा हूं। मदद की बहुत सराहना की जाएगी।

Php -r 'phpinfo (); का आउटपुट | grep -i pdo:

/etc/php/7.0/cli/conf.d/10-pdo.ini,
PDO
PDO support => enabled
PDO drivers =>  

/ usr / sbin / phpquery -v 7.0 -M का आउटपुट

mysqlnd
sysvmsg
sockets
gd
mcrypt
phar
xsl
xmlreader
shmop
sysvsem
mysqli
xml
tokenizer
iconv
pdo
pdo_mysql
gettext
simplexml
xmlwriter
opcache
posix
sysvshm
ftp
dom
json
readline
calendar
fileinfo
ctype
wddx
exif

dpkg -l php * mysql का आउटपुट

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  php-mysql      1:7.0+35ubun all          MySQL module for PHP [default]
un  php-pdo-mysql  <none>       <none>       (no description available)
rc  php5-mysql     5.6.11+dfsg- amd64        MySQL module for php5
ii  php7.0-mysql   7.0.4-7ubunt amd64        MySQL module for PHP
un  php7.0-pdo-mys <none>       <none>       (no description available)

कृपया का आउटपुट पोस्ट करें php -r 'phpinfo();' | grep -i pdo। और आपको एक्सटेंशन को हाथ से सक्षम नहीं करना चाहिए, बल्कि phpenmodइसके बजाय उपयोग करना चाहिए। या फिर उसी वर्चुअल सर्वर से कहीं आप phpinfo () का पूरा आउटपुट पोस्ट करें जहां आप Magento चलाते हैं। मुझे शक है कि आप अपने डिफ़ॉल्ट php.ini पर कुछ कर रहे होंगे ...
oerdnj

मेरे देर से उत्तर के लिए क्षमा करें। यहाँ आउटपुट है: /etc/php/7.0/cli/conf.d/10-pdo.ini, PDO PDO support => सक्षम PDO ड्राइवर =>
Rakshith S Kumar

प्रारंभिक प्रश्न के रूप में अच्छी तरह से उत्पादन जोड़ा गया।
राकेश एस कुमार

और का उत्पादन: /usr/sbin/phpquery -v 7.0 -Mऔर dpkg -l php*mysql?
oerdnj

दोनों आउटपुट जोड़े गए।
रक्षित एस कुमार

जवाबों:


8

इस स्तर पर मैं बस "इसे बंद करने और फिर से चालू करने" की सिफारिश करूंगा:

sudo apt-get purge php-common php5-common

के बाद

sudo rm -r /etc/php

और फिर PHP 7.0 और mysql मॉड्यूल को फिर से इंस्टॉल करना:

sudo apt-get install libapache2-mod-php php-mysql

तुम भी सिर्फ mysql मॉड्यूल को शुद्ध और पुनः स्थापित करने का प्रयास कर सकते हो, पहले पैकेज को हटा रहे हो:

sudo apt-get purge php7.0-mysql

और उन्हें फिर से स्थापित करना:

sudo apt-get install php-mysql

किसी भी मौजूदा कॉन्फ़िगरेशन फ़ाइल और पैकेज स्थिति को हटाने के apt-get purgeबजाय दोनों मामलों में इसका उपयोग करना महत्वपूर्ण apt-get removeहै।

कम से कम विनाशकारी तरीका phpenmodकमांड का उपयोग करके mysql मॉड्यूल को फिर से सक्षम करने की कोशिश कर रहा होगा :

sudo phpenmod mysqlnd pdo_mysql

अगर आपको पता नहीं है कि आपके सिस्टम में क्या तबाही है, तो आपको सही सलाह देना मुश्किल है।


मैंने निर्देशिकाओं को हटाने, निर्देशिकाओं को हटाने, पुन: स्थापित करने और php7.0-mysql को भी शुद्ध किया और php-mysql स्थापित किया। अब अपाचे ने खुद काम करना बंद कर दिया, यह अनुरोधों को संभालने में असमर्थ है। :(
रक्षित एस कुमार

1
क्षमा करें, मेरा बुरा है, मुझे php7.0-xml स्थापित करना था, और सब कुछ ठीक था। बहुत बहुत धन्यवाद।
रक्षित एस कुमार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.