PDOException "ड्राइवर नहीं मिल सका"


292

मैंने Apache, MySQL और PHP के साथ डेबियन लेन स्थापित किया है और मुझे PDOException प्राप्त हो रही है could not find driver

यह कोड की विशिष्ट रेखा है जिसका उल्लेख है:

$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

DB_HOST, DB_NAME, DB_USER, और DB_PASSस्थिरांक है कि मैं परिभाषित कर रहे हैं। यह उत्पादन सर्वर (और मेरे पिछले Ubuntu सर्वर सेटअप पर) पर ठीक काम करता है।

क्या यह मेरी PHP स्थापना के साथ कुछ करना है?

इंटरनेट पर खोज करने से कोई मदद नहीं मिली है, मेरे पास विशेषज्ञ-विनिमय और उदाहरण हैं, लेकिन कोई समाधान नहीं है।


21
अपने php.ini' file and uncomment एक्सटेंशन में देखें = php_pdo_mysql.dll . The path to your php.ini` फ़ाइल आपके phpinfo () को देखकर मिल सकती है।
स्टाइलफाल

3
भविष्य के पाठकों के लिए FYI करें, यदि आपको यह त्रुटि मिलती है और GoDaddy आपका होस्ट है, तो अपना व्यवस्थापक खाता लॉगिन करें। होस्टिंग विवरण-> प्रोग्रामिंग भाषाएँ। अपने PHP संस्करण को नवीनतम या कम से कम 5.4 में अपग्रेड करें
जो 0

@ जो मैं उन्नत हुआ लेकिन अभी भी एक त्रुटि (GoDaddy)
युगीन सन

@styfle 1up, लिनक्स मशीन पर, मैं सेट extension=msql.soकरता हूं और यह काम करता है!
अजयकुमारबसुथकर

जिनके लिए यह चिंता का विषय हो सकता है: यदि आप docker पर php 7.1+ का उपयोग कर रहे हैं, तो आप docker execकंटेनर में जा सकते हैं और भाग सकते हैं docker-php-ext-install pdo pdo_mysql
calebertandre

जवाबों:


240

आपके पास pdo_mysql नामक एक मॉड्यूल होना चाहिए। Phpinfo में निम्नलिखित की तलाश है (),

pdo_mysql

PDO Driver for MySQL, client library version => 5.1.44

2
@ZZ कोडर यह phpinfo () में मौजूद नहीं है। क्या आप जानते हैं कि मैं कैसे स्थापित कर सकता हूं pdo_mysql?
माइक मूर

14
@letseatfood ... आपने यह कैसे पता लगाया? मुझे भी यही तकलीफ़ है!
हिस्टो

17
मैं MySQL के लिए PDO समर्थन स्थापित करने के लिए Ubuntu "php5-mysql" पैकेज की सिफारिश कर सकता हूं
टॉम कार्वर

3
ध्यान दें कि, अपाचे या अन्य वेब सर्वर का उपयोग करने वालों के लिए, परिवर्तनों को प्रभावी करने के लिए अपाचे को फिर से sudo systemctl restart httpd.service
चालू

50
उबंटू 16.04 और PHP7 उपयोग के लिएsudo apt-get install php-mysql
इवान

199

आपके कोड में dsn से पता चलता है कि आप mysql ड्राइवर से जुड़ने की कोशिश कर रहे हैं। आपका त्रुटि संदेश इंगित करता है कि यह ड्राइवर अनुपलब्ध है।

जांचें कि आपके पास mysql एक्सटेंशन आपके सर्वर पर स्थापित है।

उबंटू / डेबियन में आप पैकेज के लिए जाँच करते हैं:

dpkg --get-selections | grep php | grep mysql

यदि आपके पास नहीं है तो php5-mysql पैकेज को स्थापित करें।

उबंटू / डेबियन में आप उपयोग कर सकते हैं:

  • PHP5: sudo apt-get install php5-mysql
  • PHP7: sudo apt-get install php7.0-mysql

अंत में, इसे काम करने के लिए, आपको अपने वेब-सर्वर को पुनरारंभ करना होगा:

  • अमरीका की एक मूल जनजाति: sudo /etc/init.d/apache2 restart
  • nginx: sudo /etc/init.d/nginx restart

3
आह ... पुनरारंभ क्या मुझे थोड़ा सा है!
KOGI

मेरे पास एक ही मुद्दा था, सुनिश्चित करें कि आप php5-fpm को पुनः आरंभ करें!
Eko3alpha

लगभग एक पूरी रात बिताई, जब तक मैंने आपका जवाब नहीं देखा, यह दरार करने की कोशिश कर रहा था। सब कुछ सही ढंग से किया था, लेकिन अपाचे को फिर से शुरू करने के लिए भूल गया।
मुगोमा जे। ओकोम्बा

php-mysql पहले से ही नवीनतम संस्करण है (1: 7.1 + 49 + deb.sury.org ~ xenial + 4)। जब कमांड sudo apt-get install php-mysql को ubuntu 16.04 में nginx php fpm के साथ चलाने की कोशिश करें, तो मैं भी php fpm को पुनरारंभ करें और फिर nginx को पुनरारंभ करें।
प्रशांत बर्वे

वर्तमान में यह php-mysql और php7.1-mysql प्रतीत होता है। उम्मीद है कि यह आगे बढ़ने वाला पैटर्न है।
जॉन पी।

83

अद्यतन : नए संस्करण का उपयोग करना चाहिए php-sqlite3के बजाय पैकेज php5-sqlite। तो इसका उपयोग करें, यदि आप हाल ही के ubuntu संस्करण का उपयोग कर रहे हैं:

sudo apt-get install sqlite php-sqlite3

प्रश्न का मूल उत्तर यहां है:

sudo apt-get install sqlite php5-sqlite
sudo /etc/init.d/apache2 restart

यदि आपका phpinfo () pdo_sqlite लाइन (मेरे मामले में, मेरे Ubuntu सर्वर पर) नहीं दिखा रहा है, तो आपको बस ऊपर की लाइनें चलाने की आवश्यकता है और फिर आपको जाना अच्छा होगा।


57
जब ओपी MySQL का उपयोग कर रहा है तो आपने साइक्लाइट के लिए निर्देश क्यों दिया?
एंड्रयू एन्सेले

7
@ और अगर आप उपयोग करते हैं pdo_sqliteऔर php5-sqliteआपको स्थापित नहीं करते हैं तो आपको लापता साइक्लाइट के PDOExceptionबारे में कोई जानकारी नहीं है और php5-mysqlदो बार स्थापित करने का प्रयास करें ।
Aitch

2
ध्यान दें कि php5-sqlite अप्रचलित हो गया है और आपके सिस्टम के लिए अब उपलब्ध नहीं हो सकता है, अर्थात Ubuntu 16.04। इसके बजाय php-sqlite3 स्थापित करें।
मथियास

2
@briankip बेशक, यदि आप SQLite से कनेक्ट करने का प्रयास कर रहे हैं और वह ड्राइवर गायब है। लेकिन ओपी MySQL से जुड़ने की कोशिश कर रहा है। साइक्लाइट स्थापित करना / उसकी समस्या को हल नहीं कर सकता है।
एंड्रयू एन्सले

2
@AndrewEnsley। इस पृष्ठ का शीर्षक वह त्रुटि है जो सभी को अपने db प्लेटफ़ॉर्म की परवाह किए बिना मिलती है। परिणामस्वरूप, यदि आपके पास केवल त्रुटि है, तो इस पृष्ठ में उच्चतम Google खोज रैंक है। इसलिए, IMO, अन्य डेटाबेस के लिए प्रासंगिक इस सवाल का कोई भी जवाब यहाँ स्वागत किया जाना चाहिए। यदि वे ओपी के लिए काम नहीं करते हैं, तो यह हो ... ओपी को उन उत्तरों को स्वीकार करने की आवश्यकता नहीं है। इसका मतलब यह नहीं है कि यह उत्तर शीर्षक में त्रुटि संदेश की जांच करने वाले अन्य लोगों के लिए "उपयोगी" नहीं है, जिन्होंने ज़ोल्टर की खोज रैंक के साथ इस प्रश्न को उपहार में दिया था। +1
एलब्रोबिस

34

PHP 7.0 वाले उबंटू के नए संस्करणों के लिए आपको php-mysqlपैकेज मिल सकता है:

sudo apt-get install php-mysql

फिर अपने सर्वर को पुनरारंभ करें:

sudo service apache2 restart

मुझे लगता है कि अब आपको संस्करण सूडो एप्ट-गेट स्थापित करने के साथ विशिष्ट होना चाहिए php7.2-mysql
स्टेन सोकोलोव

25

मेरी भी यही समस्या थी। समाधान ओएस पर निर्भर करता है। मेरे मामले में, मेरे पास डेबियन है, इसलिए इसे हल करने के लिए:

  • मेरे php संस्करण को अपडेट किया ( php5 से php7 )
  • Php-mysql और php7.0-mysql स्थापित करें

    apt-get install php-mysql
    apt-get install php7.0-mysql
  • मैंने अपना php.iniपता /etc/php/7.0/apache2/php.ini पर संपादित किया

    uncomment the line : extension=php_pdo_mysql.dll
  • फिर से शुरू करें अपाचे:

    service apache2 restart

इससे मेरी समस्या हल हो गई


के रूप में एक अलग रूप में मेरे जैसे जो लोग पाया यह काफी पर्याप्त नहीं था और चरणों के माध्यम से करने के लिए पूरी तरह से जाना कि php7 की पुष्टि करने से पहले काम करेंगे PHP5 दूर करने के लिए नहीं करना चाहते हैं के लिए: a2dismod php5, a2enmod php7.0, और service apache2 restartअंत में मिला मुझे बनाने और चलाने वापस।
depwl9992

21

अपनी विंडोज मशीन पर, मुझे अपने php.ini में एक्सटेंशन डायर को पूर्ण पथ देना था:

extension_dir = "c:\php5\ext"


2
मैंने अभी पुष्टि की है यह सच है (Win2008)। अजीब - अन्य एक्सटेंशन सिर्फ सिफारिश के साथ काम करते हैं extension_dir = "ext", लेकिन यह नहीं।
स्काइपिलॉट

मुझे भी। रास्ता जोड़ दिया और काम करना शुरू कर दिया। Windows10, php7.1
क्रिस गिब

14

उबंटू में बस निष्पादित करें

sudo apt-get install php5-mysql

1
मैं एक Symfony2 और Ubuntu के पीछे था। Pdo_mysql को नहीं मिला ([PDOException] को ड्राइवर नहीं मिला)। इससे समस्या हल हो गई।
रेनहार्ड

2
मेरे लिए मैं Postgresql की कमी थी, इसलिए यह समाप्त हो गया:sudo apt-get install php5-pgsql
Kzqai

@Kzqai 2:30 अब और आपने मेरी समस्या हल कर दी है, मैं mysql का उपयोग नहीं कर रहा था मैं पोस्टग्रेज (> es) का उपयोग कर रहा था
धीरज

9
sudo apt-get install php-mysql 

ubuntu और php 7 पर अच्छा काम किया


इसने मेरे लिए काम किया, हालाँकि मैं php7 का उपयोग नहीं कर रहा हूँ, लेकिन php5.6। लेकिन मैं 7 स्थापित है। मैंने बाद में 5.6 स्थापित किया और php7 की स्थापना रद्द किए बिना
Mubashar Abbas

9

जांचें कि क्या मॉड्यूल उपलब्ध है php -m | grep pdo_mysql

यदि नहीं, तो PHP 7.2 के लिए, आप संबंधित पैकेज स्थापित कर सकते हैं sudo apt install php7.2-mysql

अन्य PHP संस्करणों और पैकेज प्रबंधकों पर समान कमांड का उपयोग करें।


6

अपने php.ini में इनको जोड़ने पर सुनिश्चित करें कि php_pdo.dll संदर्भ पहले db ड्राइवरों के dlls से पहले है अन्यथा यह इस त्रुटि संदेश का भी कारण होगा। उन्हें इस तरह जोड़ें:

[PHP_PDO]
extension=php_pdo.dll
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll

2
चूंकि PHP v5.3 php_pdo.dllमॉड्यूल की आवश्यकता नहीं है (मौजूद नहीं है)। php.net/manual/en/pdo.installation.php शायद इस प्रश्न का अंतिम उत्तर है।
मार्टिन ज़ेटलर

5

यदि आपने MySQL और ड्राइवर को सही तरीके से स्थापित किया है, तो क्या आपने अपना php.ini (phpinfo () के साथ सही स्थान की जांच करें) किया था?


2
मैं php.ini में देख रहा हूं, लेकिन मुझे क्या देखना चाहिए? मुझे एक खंड दिखाई देता है, जिसकी शुरुआत होती है[MySQL]
माइक मूर

4

के लिए PHP 5.5पर CentOSमैं स्थापित करके इस तय php55-mysqlndपैकेज।

sudo yum -y install php55w-mysqlnd # For Webtatic
sudo yum -y install php55u-mysqlnd # For Remi

स्थापित करने में मदद के लिए, एक टिप्पणी लिखें क्योंकि यह आपके सिस्टम पर PHP स्थापित करने के तरीके पर निर्भर करता है। उपलब्ध रेपो हैं webtaticऔर remi


4

विंडोज 8.1 / 10 के लिए: \\ php.ini फ़ाइल को आपको लाइन "एक्सटेंशन = pdo_mysql" को अनइंस्टॉल करना चाहिए


3

मेरे मामले में मेरा DSN स्ट्रिंग गलत था, विशेष रूप से इसमें यह नहीं था कि mysql://. मुझे एक अलग त्रुटि संदेश की उम्मीद होगी, शायद 'DSN स्ट्रिंग' ड्राइवर / प्रोटोकॉल को निर्दिष्ट नहीं करता है।

जोड़ना mysql://DSN स्ट्रिंग की शुरुआत करने के लिए इस मुद्दे को हल।


3

मैंने आखिरी दिन बिताए यह जानने की कोशिश कर रहा है कि मुझे निम्न त्रुटि क्यों हो रही थी। मैं Ubuntu 14.04 चला रहा हूं।

समस्या:
मैंने देखा कि मेरा PHP-CLI संस्करण php7.0 चल रहा था, लेकिन php_info () (वेब ​​संस्करण) php 5.5.9 प्रदर्शित कर रहा था। हालांकि php_info () ने कहा कि pdo को सक्षम किया गया था, कमांड लाइन (CLI) का उपयोग करके pdo_mysql कमांड को नहीं पहचान रहा था। यह पता चला है कि mysql को मेरे पुराने संस्करण के लिए सक्षम किया गया था, लेकिन CLI संस्करण को नहीं। मैंने बस php7.0 के लिए mysql स्थापित किया था और यह काम करने में सक्षम था।

यह काम किया है:

संस्करण की जांच करने के लिए:

php -v

Mypql को php7.0 के लिए स्थापित करने के लिए

sudo apt-get install php7.0-mysql

1) सुनिश्चित करें कि आपका सीएलआई संस्करण आपके वेब संस्करण के समान है
2) यदि वे अलग-अलग हैं, तो सुनिश्चित करें कि आपके सीएलआई संस्करण में mysql प्लग-इन है क्योंकि यह डिफ़ॉल्ट रूप से इसके साथ नहीं आता है।


2

जांचें कि क्या php कॉन्फ़िगरेशन फ़ाइल में extension_dir सही ढंग से सेट है। कुछ एक्सटेंशन को कमेंट / अनसुना करने की कोशिश करें और देखें कि क्या यह phpinfo () पर परिलक्षित होता है। यदि यह नहीं होता है तो या तो php config फाइल लोड नहीं की जा सकती (गलत स्थान) extension_dir टिप्पणी की जाती है या गलत स्थान पर सेट की जाती है।


2

समस्या mysql लाइब्रेरी के लिए एक लापता php है। सेंटो में मैंने इसे चलाकर तय किया # yum install php-mysqlऔर फिर अपाचे को फिर से शुरू करते हुए # /bin/systemctl restart httpd.serviceध्यान दें कि नामकरण डेबियन / ubuntu आधारित डिस्ट्रोस, php-> php5 और httpd-> apache2 से थोड़ा अलग है।


2

अलग php.ini के साथ परीक्षण चलाने के दौरान मुझे यही समस्या थी। मुझे इन पंक्तियों को अपनी php.ini फ़ाइल में जोड़ना था:

[PHP]
extension = mysqlnd.so
extension = pdo.so
extension = pdo_mysql.so

सूचना: वास्तव में इस क्रम में


2

मैं इसकी mysqllndबजाय बहुत सलाह देता हूं mysqlक्योंकि आपके पास नंबर बदलने और बिट प्रकार के mysqlविस्तार के साथ समस्या का मूल्यांकन करने जैसी कई समस्याएं होंगी ।

mysqllndनिम्नलिखित कमांड के साथ ubuntu स्थापित करें:

sudo apt-get install php5-mysqlnd

1

मैंने अपने डेबियन पर इस मुद्दे को 6 तय किया php5-common। आम तौर पर मैंने सिर्फ पैकेज स्थापित किया था । स्थापना के बाद, आपको अपना वेब सर्वर (एपाचे या नग्नेक्स जिसके आधार पर आपने इंस्टॉल किया था) को पुनरारंभ करना होगा। फिर मैं बस lsofअपाचे प्रक्रिया आईडी ( lsof -p process_id) का पालन करता हूं :

sudo lsof -p 1399   #replace 1399 by your apache process id
apache2 1399 root  mem    REG  254,2    80352 227236 /usr/lib/php5/20090626/xmlrpc.so
apache2 1399 root  mem    REG  254,2   166496 227235 /usr/lib/php5/20090626/suhosin.so
apache2 1399 root  mem    REG  254,2    31120 227233 /usr/lib/php5/20090626/pdo_mysql.so
apache2 1399 root  mem    REG  254,2   100776 227216 /usr/lib/php5/20090626/pdo.so
apache2 1399 root  mem    REG  254,2   135864 227232 /usr/lib/php5/20090626/mysqli.so

जैसा कि आप ऊपर देख सकते हैं, मॉड्यूल एक फ़ाइल पथ पर स्थापित हैं जो सामान्य पुस्तकालय पथ द्वारा ज्ञात या निर्देशित नहीं है: / usr/lib/php5/20090626/। आपकी स्थापना के लिए, यह भिन्न हो सकता है, लेकिन केवल pdo_mysql.so, pdo.so, mysqli.so का पथ। तो, यही कारण है कि Drupal या किसी अन्य php इंजन को लाइब्रेरी नहीं मिली और वह त्रुटि दिखाता है:PDOException: could not find driver

मैं सिर्फ कारण है कि यह इस तरह के एक अजीब पथ पर स्थापित किया गया है पता नहीं है, मेरे लिए यह डेबियन 6. में पुस्तकालय पैकेज स्थापना स्क्रिप्ट मैं एक प्रतीकात्मक सभी के लिए के अंतर्गत फ़ाइलें बनाने के द्वारा समस्या हल हो जाती में सिर्फ एक बग है /usr/lib/php5/20090626/करने के लिए /usr/lib/php5/इस आदेश के साथ:

ln -s /usr/lib/php5/20090626/* /usr/lib/php5/


php-mysql पहले से ही नवीनतम संस्करण है (1: 7.1 + 49 + deb.sury.org ~ xenial + 4)।
प्रशांत बर्वे

1
$DB_TYPE = 'mysql'; //Type of database<br>
$DB_HOST = 'localhost'; //Host name<br>
$DB_USER = 'root'; //Host Username<br>
$DB_PASS = ''; //Host Password<br>
$DB_NAME = 'database_name'; //Database name<br><br>

$dbh = new PDO("$DB_TYPE:host=$DB_HOST; dbname=$DB_NAME;", $DB_USER, $DB_PASS); // PDO Connection

इसने मेरे लिए काम किया।


1
एक ड्राइवर के बिना, इस उपयोगकर्ता को अभी भी एक ही अपवाद मिलेगा
eggmatters

1

Php5 पैकेज को स्थापित करने के लिए php5 पैकेज (जिसमें सभी ड्राइवर भी शामिल हैं) को हटाने के बाद मुझे उसी समस्या का सामना करना पड़ा। मैंने वास्तव में mysql मॉड्यूल के बिना php7 पैकेज स्थापित किया है।

मैं इसे टर्मिनल में टाइप करके हल करने में कामयाब रहा:

1) $ apt- कैश खोज php7 जो सभी मॉड्यूल को सूचीबद्ध करता है, जो मैंने पाया मॉड्यूल के माध्यम से देख रहा है,

php7.0-mysql - PHP के लिए MySQL मॉड्यूल

2) $ sudo apt-get install php7.0-mysql

बस। इसने मेरे लिए मेरे लिनक्स सिस्टम में काम किया।

(उपयुक्त php संस्करण का उपयोग करें, तुम्हारा php5 हो सकता है)


1

कुछ लोगों द्वारा पुष्टि करने के लिए बस एक अन्य बात यह है कि आरंभ करने के लिए कुछ कोड इंटरनेट से कॉपी / पेस्ट करना है। सुनिश्चित करें कि आपने MySQL यहां दर्ज किया है:

... $dbh = new PDO ("mysql: ...  

कुछ उदाहरणों में यह दिखाता है

$dbh = new PDO ("dblib ...

1

मेरे मामले में, मैं php-cli के साथ PDO का उपयोग कर रहा था, और यह ठीक काम करता था।

केवल जब मैंने अपाचे से कनेक्ट करने की कोशिश की, मुझे "लापता ड्राइवर" मुद्दा मिला, जिसे मैं काफी समझ नहीं पाया।

एक सरल apt-get install php-mysql ने इसे हल किया। (Ubuntu 16.04 / PHP7। क्रेडिट चयनित उत्तर और इवान की टिप्पणी पर जाते हैं)

आशा है कि यह मदद कर सकता है।


1

Symfony2 / 3 का उपयोग करने वालों के लिए और सोच रहे हैं कि आपको यह त्रुटि क्यों हो रही है। यदि आप "mapping_types" का उपयोग कर रहे हैं, तो आप इस त्रुटि का सामना कर सकते हैं। कारण यह है कि "मैपिंग_टाइप्स" को गलत स्तर पर रखा गया है। उदाहरण के लिए :

doctrine:
  dbal:
    mapping_types:
        set: string

इस "मैपिंग_टाइप्स" को इस स्तर पर रखा जाना चाहिए:

doctrine:
dbal:
    #To counter the error caused by 'mapping_types'
    connections:
        default:
            server_version: %database_server_version%
            mapping_types:
                set: string

आशा है कि ये आपकी मदद करेगा

मुझे यहाँ समाधान मिला: https://github.com/doctrine/DoctrineBundle/issues/327


1

हर जगह मैं यह पढ़ता हूं कि रास्ते को एक निरपेक्ष मार्ग extension_dirसे बदल दिया जाना चाहिए ext। इसने मेरे लिए काम किया। हालांकि, जब मैं अपने सहयोगी के पीसी के सर्वर का निर्माण करने की कोशिश कर रहा था, तो मुझे मूल्य को जाने देना थाext एक निरपेक्ष मार्ग डालने के बजाय ।

यदि आपने एक निरपेक्ष मार्ग रखा है और यह विस्तार अभी भी नहीं मिला है, विचारक निरपेक्ष मार्ग के साथ प्रयास कर रहा है और ext


1

PHP की गलत स्थापना कहा जा रहा था

मैं उसी समस्या का सामना कर रहा था। और मुझे उम्मीद है कि यह किसी ऐसे व्यक्ति की मदद करेगा जो मेरे जैसा ही मुद्दा है।

परिदृश्य

OS = Windows 10  
Platform = XAMPP  
PHP Version = 7 (Multiple Version seem to have been installed in the PC)  

मैंने फ़ोल्डर phpinfo.phpमें फ़ाइल बनाई publicऔर phpinfo()अपनी php.iniफ़ाइल का स्थान देखने के लिए उसे चलाया ।

PHP.ini स्थान = c:\xampp\php\php.ini

समस्या
कॉलिंग c:\xampp\htdocs> php -vवापस लौटी PHP 7.2.3लेकिन phpinfo.phpदिखाई गई PHP 7.2.2


कॉल करने के बजाय समाधान

php artisan migrate:install   

जिसने मुझे यह त्रुटि दी, मैंने उपयोग किया

c:\xampp\php\php artisan migrate:install

और यह काम किया।



1
PHP Fatal error:  Uncaught PDOException: could not find driver

मैंने संघर्ष किया और "apt install php-mysql php7toInfinity के साथ संघर्ष किया और sqlite- क्या-कभी-कभी भूल नहीं" और बस इस त्रुटि संदेश से छुटकारा नहीं पा सका, जब तक कि मैं मूल बातों पर वापस नहीं गया और वेब-साइट पर फ़ाइल-अनुमतियों को रीसेट नहीं कर पाया। प्रश्न में।

ये 3 आदेश वेब साइट पर फ़ाइल और फ़ोल्डर अनुमतियों को रीसेट करते हैं और इसे फिर से काम करने के लिए मिला है।

cd /var/www/web-site-name.com/web/

# find (sub) directories and change permissions
find . -type d -exec chmod 755 {} \;

# find files and change permissions
find . -type f -exec chmod 664 '{}' \;

0

उपयोग करने का प्रयास करते समय मेरे पास एक ही अपवाद था pdo_sqlite। समस्या यह थी कि स्वचालित रूप से बनाया गया 20-pdo_sqlite.iniऔर 20-sqlite3.iniसहानुभूति (में)/etc/php5/mods-enabled ) टूट गए थे।

टूटी हुई सीमलिंक को हटाना और उन्हें मैन्युअल रूप से जोड़ना:

  • sudo ln -s /etc/php5/mods-avaliable/pdo_sqlite.ini /etc/php5/mods-enabled/20-pdo_sqlite.ini
  • sudo ln -s /etc/php5/mods-avaliable/sqlite3.ini /etc/php5/mods-enabled/20-sqlite3.ini

समस्या को ठीक किया।

नोट: यह पुराने php संस्करणों के लिए काम नहीं करेगा क्योंकि वे कॉन्फ़िगर में नहीं दिखते थे /etc/php5/mods-enabled

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