PDOException "ড্রাইভার খুঁজে পেল না"


292

আমি সবেমাত্র আপাচি, মাইএসকিউএল এবং পিএইচপি সহ ডেবিয়ান লেনিকে ইনস্টল করেছি এবং আমি একটি পিডিওএক্সেপশন গ্রহণ করছি 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ধ্রুবক যে আমি সংজ্ঞায়িত করেছেন। এটি প্রোডাকশন সার্ভারে (এবং আমার পূর্ববর্তী উবুন্টু সার্ভার সেটআপে) দুর্দান্ত কাজ করে।

এটি কি আমার পিএইচপি ইনস্টলেশন সাথে কিছু করার আছে?

ইন্টারনেট অনুসন্ধান করা সহায়তা করে নি, আমি যা পাই তা বিশেষজ্ঞ-এক্সচেঞ্জ এবং উদাহরণ, তবে কোনও সমাধান নেই।


21
আপনার php.ini' file and uncomment এক্সটেনশানটি দেখুন = php_pdo_mysql.dll . The path to your php.ini` ফাইলটি আপনার phpinfo () দেখে সন্ধান করা যেতে পারে।
স্টাইলে 21

3
ভবিষ্যতের যে কোনও পাঠকের কাছে এফওয়াইআই, যদি আপনি এই ত্রুটিটি পান এবং গোডাডি আপনার হোস্ট হয় তবে আপনার প্রশাসক অ্যাকাউন্টে লগইন করুন। হোস্টিংয়ের বিশদ-> প্রোগ্রামিং ভাষা। আপনার পিএইচপি সংস্করণটি সর্বশেষতম বা কমপক্ষে 5.4
জো

@ জো আমি আপগ্রেড করেছি কিন্তু তবুও একটি ত্রুটি
পেয়েছি

@styfle 1up, একটি লিনাক্স মেশিনে, আমি সেট করি extension=msql.soএবং এটি কার্যকর হয়!
অজয় কুমারবাসুথকর

যার জন্য এটি উদ্বিগ্ন হতে পারে: আপনি যদি ডকারে পিএইচপি 7.1+ ব্যবহার করেন তবে আপনি ধারকটিতে docker execপ্রবেশ করতে পারেন এবং চালাতে পারেন docker-php-ext-install pdo pdo_mysql
ক্লাইবারট্যান্ড্রে

উত্তর:


240

আপনার pdo_mysql নামে একটি মডিউল থাকা দরকার। Phpinfo () এ অনুসরণ করার জন্য,

pdo_mysql

PDO Driver for MySQL, client library version => 5.1.44

2
@ZZ কোডার এটি phpinfo () এ উপস্থিত নেই। আপনি কি জানেন যে আমি কীভাবে ইনস্টল করতে পারি pdo_mysql?
মাইক মুর

14
@letseatfood ... আপনি এটি কীভাবে আবিষ্কার করলেন? আমারও একই সমস্যা হচ্ছে!
হিস্টো

17
আমি মাইএসকিউএল
টম কারভার

3
মনে রাখবেন, অ্যাপাচি বা অন্যান্য ওয়েব সার্ভার যারা ব্যবহার করেন তাদের পরিবর্তনগুলি কার্যকর হওয়ার জন্য অ্যাপাচি পুনরায় চালু করতে হবে:sudo systemctl restart httpd.service
মুগোমা জে ওকোম্বা

50
উবুন্টু 16.04 এবং পিএইচপি 7 ব্যবহারের জন্যsudo apt-get install php-mysql
ইভান

199

আপনার কোডের ডিএসএন প্রকাশ করে যে আপনি মাইএসকিএল ড্রাইভারের সাথে সংযোগ স্থাপনের চেষ্টা করছেন। আপনার ত্রুটি বার্তাটি নির্দেশ করে যে এই ড্রাইভারটি অনুপলব্ধ।

আপনার সার্ভারে মাইএসকিএল এক্সটেনশন ইনস্টল করা আছে কিনা তা পরীক্ষা করুন।

উবুন্টু / ডেবিয়ান এ আপনি এই প্যাকেজটি পরীক্ষা করে দেখুন:

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

আমার একই সমস্যা ছিল, আপনি পিএইচপি 5-এফপিএম পুনরায় চালু করার বিষয়টি নিশ্চিত করুন!
ইকোআলফা

আপনার উত্তর না পাওয়া পর্যন্ত প্রায় পুরো রাত এটি ক্র্যাক করার চেষ্টা করে কাটিয়েছেন। সবকিছু সঠিকভাবে করেছেন তবে অ্যাপাচি পুনরায় চালু করতে ভুলে গেছেন।
মুগোমা জে ওকোম্বা

পিএইচপি-মাইএসকিএল ইতিমধ্যে নতুন সংস্করণ (1: 7.1 + 49 + deb.sury.org ~ জেনিয়াল + 4)। যখন কমান্ডটি চালানোর চেষ্টা করুন subu apt-get php-mysql in ubuntu 16.04 এ এনজিএনএক্স পিএইচপি এফপিএম সহ আমি পিএইচপি এফএমপিআরটি পুনঃসূচনা করব এবং তারপরে এনজিনেক্স পুনরায় চালু করব।
প্রশান্ত বারভে

বর্তমানে এটি php-mysql এবং php7.1-mysql বলে মনে হচ্ছে। আশা করি এটি এগিয়ে যাওয়ার প্যাটার্নটিই।
জন পি

83

আপডেট : নতুন সংস্করণগুলির php-sqlite3পরিবর্তে প্যাকেজটি ব্যবহার করা উচিত php5-sqlite। সুতরাং আপনি যদি সাম্প্রতিক উবুন্টু সংস্করণটি ব্যবহার করে থাকেন তবে এটি ব্যবহার করুন:

sudo apt-get install sqlite php-sqlite3

প্রশ্নের মূল উত্তরটি এখানে:

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

যদি আপনার phpinfo () pdo_sqlite লাইনটি দেখায় না (আমার ক্ষেত্রে, আমার উবুন্টু সার্ভারে), আপনাকে কেবল উপরের লাইনগুলি চালনা করতে হবে এবং তারপরে আপনি ভাল হয়ে যাবেন।


57
যখন ওপি মাইএসকিউএল ব্যবহার করছে আপনি কেন স্ক্লাইটের জন্য নির্দেশনা দিয়েছিলেন?
অ্যান্ড্রু এনসলে

7
@ অ্যান্ড্রু আপনি যদি ব্যবহার করেন pdo_sqliteএবং ইনস্টল না করেন তবে php5-sqliteকেবলমাত্র PDOExceptionঅনুপস্থিত স্ক্লাইট সম্পর্কে কোনও তথ্য নেই এবং php5-mysqlদুবার ইনস্টল করার চেষ্টা করুন ।
আইচ

2
নোট করুন যে পিএইচপি 5-স্ক্লাইটটি অপ্রচলিত হয়ে গেছে এবং এটি আপনার সিস্টেমে আর উপলভ্য নাও হতে পারে, যেমন উবুন্টু 16.04। পরিবর্তে পিএইচপি-স্ক্লাইট 3 ইনস্টল করুন।
ম্যাথিয়াস

2
@ ব্র্যাঙ্কিপ অবশ্যই এটি যদি আপনি এসকিউএলাইটের সাথে সংযোগের চেষ্টা করছেন এবং ড্রাইভারটি অনুপস্থিত। তবে ওপি মাইএসকিউএলে কানেক্ট করার চেষ্টা করছে। স্ক্লাইট ইনস্টল করা / তার সমস্যার সমাধান করতে পারে নি।
অ্যান্ড্রু এনসলে

2
@AndrewEnsley। এই পৃষ্ঠার শিরোনাম হ'ল ত্রুটি যা প্রত্যেকে তাদের ডিবি প্ল্যাটফর্ম নির্বিশেষে পায়। ফলস্বরূপ, এই পৃষ্ঠায় সর্বাধিক গুগল অনুসন্ধান র‌্যাঙ্ক রয়েছে যদি আপনি কেবল ত্রুটিটি গুগল করেন। সুতরাং, আইএমও, অন্যান্য ডাটাবেসের সাথে সম্পর্কিত এই প্রশ্নের যে কোনও উত্তর এখানে স্বাগত জানানো উচিত। যদি তারা ওপি'র পক্ষে কাজ না করে, তবে তা হও ... ওপিকে সেই উত্তরগুলি গ্রহণ করতে হবে না। এর অর্থ এই নয় যে এই উত্তরটি অন্যদের শিরোনামের ত্রুটি বার্তার তদন্তকারীদের জন্য "দরকারী" নয় যা জোল্টারের অনুসন্ধানের র‌্যাঙ্কের সাহায্যে এই প্রশ্নটি উপহার দিয়েছে। +1
এলরোবিস

34

উবুন্টুর নতুন সংস্করণগুলির জন্য যেগুলির পিএইচপি 7.0 রয়েছে আপনি php-mysqlপ্যাকেজটি পেতে পারেন :

sudo apt-get install php-mysql

তারপরে আপনার সার্ভারটি পুনরায় চালু করুন:

sudo service apache2 restart

আমার মনে হয় এখনকার দিনগুলিতে আপনার নির্দিষ্ট সংস্করণ sudo apt-get php7.2-mysql ইনস্টল করতে হবে
স্ট্যান

25

আমারও একই প্রশ্ন ছিল. সমাধান ওএসের উপর নির্ভর করে। আমার ক্ষেত্রে, আমার ডেবিয়ান রয়েছে, তাই এটি সমাধান করার জন্য:

  • (পিএইচপি 5 থেকে পিএইচপি 7 ) থেকে আমার পিএইচপি সংস্করণ আপডেট হয়েছে
  • পিএইচপি-মাইএসকিএল এবং 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"তবে এটি একটি নয়।
স্কিপাইলট

একই অবস্থা. পথ জুড়ে এবং কাজ শুরু। উইন্ডোজ 10, পিএইচপি 7.1
ক্রিস গিব

14

উবুন্টুতে কেবল মৃত্যুদণ্ড কার্যকর করুন

sudo apt-get install php5-mysql

1
আমি একটি সিমফনি 2 এবং উবুন্টুর পিছনে ছিলাম। Pdo_mysql খুঁজে পাওয়া যায় নি ([PDOException] ড্রাইভার খুঁজে পেতে পারেনি)। এটি সমস্যার সমাধান করেছে।
রিহনার্ড

2
আমার জন্য আমার sudo apt-get install php5-pgsql
পোস্টগ্রেস্কল এর

@ কেজকাই এখন দুপুর আড়াইটার দিকে এবং আপনি কেবল আমার সমস্যার সমাধান করেছেন, আমি মাইএসকিএল ব্যবহার করছিলাম না আমি পোস্টগ্রিস (> ლ) ব্যবহার করছিলাম
ধীরাজ

9
sudo apt-get install php-mysql 

উবুন্টু এবং পিএইচপি 7 এ ভাল কাজ করেছে


এটি আমার পক্ষে কাজ করেছে, যদিও আমি পিএইচপি 7 ব্যবহার করি না তবে পিএইচপি 5.6 ব্যবহার করি। তবে আমি 7 ইনস্টল করা আছে। আমি পরে 5.6 ইনস্টল করেছি এবং পিএইচপি 7 আনইনস্টল না করে এটিতে চলেছি
আব্বাস

9

মডিউলটি উপলব্ধ কিনা তা পরীক্ষা করুন php -m | grep pdo_mysql

যদি তা না হয় তবে পিএইচপি 7.2 এর জন্য আপনি প্রাসঙ্গিক প্যাকেজটি ইনস্টল করতে পারেন sudo apt install php7.2-mysql

অন্যান্য পিএইচপি সংস্করণ এবং প্যাকেজ পরিচালকগুলিতে অনুরূপ কমান্ড ব্যবহার করুন।


6

আপনার php.ini এ এগুলি যুক্ত করার পরে নিশ্চিত করুন যে ডিবি ড্রাইভাররা ডেল করার আগে php_pdo.dll রেফারেন্সটি প্রথমে রয়েছে অন্যথায় এটিও এই ত্রুটি বার্তা তৈরি করে। তাদের এইভাবে যুক্ত করুন:

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

2
যেহেতু পিএইচপি ভি 5.3 php_pdo.dllমডিউলটির আর প্রয়োজন নেই (বিদ্যমান নেই)। php.net/manual/en/pdo.installation.php সম্ভবত এই প্রশ্নের চূড়ান্ত উত্তর।
মার্টিন জিটলার

5

আপনি কি আপনার 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

ইনস্টল করার সহায়তার জন্য, মন্তব্যটি লিখুন কারণ এটি আপনার সিস্টেমে পিএইচপি ইনস্টল করার পদ্ধতি নির্ভর করে। উপলব্ধ রেপোগুলি হ'ল webtaticএবং remi



3

আমার ক্ষেত্রে আমার ডিএসএন স্ট্রিংটি ভুল ছিল, বিশেষত এটিতে mysql://. আমার কোনও ভিন্ন ত্রুটির বার্তা আশা করা উচিত ছিল না , সম্ভবত 'ডিএসএন স্ট্রিং ড্রাইভার / প্রোটোকল নির্দিষ্ট করে না' '

mysql://ডিএসএন স্ট্রিংয়ের শুরুতে যুক্ত করা সমস্যার সমাধান করেছে।


3

আমি নীচের ত্রুটি কেন পাচ্ছি তা জানার চেষ্টা করে শেষ দিনটি ব্যয় করেছি। আমি উবুন্টু 14.04 চালাচ্ছি।

সমস্যা:
আমি লক্ষ্য করেছি যে আমার পিএইচপি-সিএলআই সংস্করণটি পিএইচপি 7.0 চলছে তবে পিএইচপি_ইনফো () (ওয়েব সংস্করণ) পিএইচপি 5.5.9 প্রদর্শন করছে। যদিও php_info () বলেছিল যে pdo সক্রিয় ছিল, কমান্ড লাইন (সিএলআই) ব্যবহার করে pdo_mysql কমান্ডটি স্বীকৃতি পাচ্ছিল না। দেখা যাচ্ছে যে মাইএসকিএলটি আমার পুরানো সংস্করণের জন্য সক্ষম হয়েছিল তবে সিএলআই সংস্করণ নয়। আমি যা করেছি তা হ'ল পিএইচপি 7.0 এর জন্য মাইএসকিএল ইনস্টল করা হয়েছিল এবং এটি কাজ করতে সক্ষম হয়েছিল।

এটিই কাজ করেছিল:

সংস্করণটি পরীক্ষা করতে:

php -v

পিএইচপি 7.0 এর জন্য মাইএসকিএল ইনস্টল করতে

sudo apt-get install php7.0-mysql

1) নিশ্চিত করুন যে আপনার সিএলআই সংস্করণটি আপনার ওয়েব সংস্করণের মতোই আছে
2) সেগুলি পৃথক হলে নিশ্চিত করুন যে আপনার সিএলআই সংস্করণটিতে মাইএসকিএল প্লাগ-ইন রয়েছে কারণ এটি ডিফল্ট হিসাবে আসে না।


2

পিএইচপি কনফিগারেশন ফাইলটিতে এক্সটেনশন_ডির সঠিকভাবে সেট করা আছে কিনা তা পরীক্ষা করুন। কিছু এক্সটেনশান মন্তব্য / uncomment করার চেষ্টা করুন এবং এটি phpinfo () এ প্রতিফলিত হয়েছে কিনা তা দেখুন। যদি এটি না হয় তবে পিএইচপি কনফিগারেশন ফাইলটি লোড করা যায় না (ভুল অবস্থান) এক্সটেনশন_ডির মন্তব্য করা হয় বা ভুল স্থানে সেট করা হয়।


2

সমস্যাটি মাইএসকিএল লাইব্রেরিতে পিএইচপি অনুপস্থিত। সেন্টোগুলিতে আমি এটি চালিয়ে # yum install php-mysqlএবং তারপরে অ্যাপাচি পুনরায় চালু করে স্থির করে # /bin/systemctl restart httpd.serviceনোট করুন যে নামকরণটি ডিবিয়ান / উবুন্টু ভিত্তিক ডিস্ট্রোস, পিএইচপি-> পিএইচপি 5 এবং httpd-> অ্যাপাচি 2 এর থেকে কিছুটা আলাদা।


2

পৃথক php.ini দিয়ে পরীক্ষা চালানোর সময় আমার একই সমস্যা ছিল। আমাকে এই লাইনগুলি আমার নিজের php.ini ফাইলে যুক্ত করতে হয়েছিল:

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

বিজ্ঞপ্তি: ঠিক এই ক্রমে


2

সংখ্যার রূপান্তরকরণ এবং বিট প্রকারের এক্সটেনশনের সমস্যাটিকে মূল্যায়নের মতো আপনার অনেক সমস্যার কারণ হ'ল mysqllndপরিবর্তে আমি প্রস্তাব দিই ।mysqlmysql

mysqllndনিম্নলিখিত কমান্ড সহ উবুন্টু ইনস্টল করুন :

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 এর পথ। সুতরাং, এই কারণেই দ্রুপাল বা অন্য কোনও পিএইচপি ইঞ্জিন লাইব্রেরিটি খুঁজে পায় নি এবং সেই ত্রুটিটি দেখায়:PDOException: could not find driver

আমি শুধু কেন এটা যেমন একটি অদ্ভুত পথে ইনস্টল করা জানি না, আমার জন্য এটি ডেবিয়ান 6 গ্রন্থাগার প্যাকেজ ইনস্টলেশন স্ক্রিপ্ট আমি সিম্বলিক সবার জন্য অধীনে ফাইল তৈরি করে সমস্যা সমাধান করা মাত্র একটি বাগ এর /usr/lib/php5/20090626/জন্য /usr/lib/php5/এই কমান্ড সঙ্গে

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


পিএইচপি-মাইএসকিএল ইতিমধ্যে নতুন সংস্করণ (1: 7.1 + 49 + deb.sury.org ~ জেনিয়াল + 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
চালক ছাড়াই, এই ব্যবহারকারীটি এখনও একই ব্যতিক্রম পাবেন
ডিমের বাচ্চা

1

পিএইচপি 7 প্যাকেজ ইনস্টল করার জন্য আমি পিএইচপি 5 প্যাকেজটি সরিয়ে দেওয়ার পরে আমি একই সমস্যার মুখোমুখি হয়েছি (এতে সমস্ত ড্রাইভারও রয়েছে)। আমি আসলে কোনও মাইএসকিএল মডিউল ছাড়াই পিএইচপি 7 প্যাকেজ ইনস্টল করেছি।

আমি টার্মিনালে টাইপ করে এটি সমাধান করতে পেরেছি:

1) pt অ্যাপ্লিকেশন-ক্যাশে অনুসন্ধান পিএইচপি 7 যা আমি খুঁজে পেয়েছি সমস্ত মডিউলগুলি তালিকাভুক্ত করে,

php7.0-mysql - পিএইচপি জন্য মাইএসকিউএল মডিউল

2) ph sup-php7.0-mysql ইনস্টল করুন

এটাই. এটি আমার লিনাক্স সিস্টেমে আমার জন্য কাজ করেছিল।

(উপযুক্ত পিএইচপি সংস্করণ ব্যবহার করুন, আপনার পিএইচপি 5 হতে পারে)


1

শুরু করার জন্য ইন্টারনেট থেকে লোকেদের উদাহরণ কোডটি অনুলিপি / পেস্ট করা হওয়ায় কেবল অন্য একটি জিনিস confirm আপনি এখানে মাইএসকিউএল প্রবেশ করেছে তা নিশ্চিত করুন:

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

কিছু উদাহরণে এই শো

$dbh = new PDO ("dblib ...

1

আমার ক্ষেত্রে, আমি পিএইচপি-ক্লিমে পিডিও ব্যবহার করছিলাম এবং এটি দুর্দান্ত কাজ করেছে।

কেবল যখন আমি অ্যাপাচি থেকে সংযোগ দেওয়ার চেষ্টা করেছি, তখন আমি "নিখোঁজ ড্রাইভার" ইস্যু পেয়েছি, যা আমি বেশ বুঝতে পারি নি।

একটি সাধারণ apt-get install php-mysqlসমাধান। (উবুন্টু 16.04 / পিএইচপি 7। ক্রেডিটগুলি নির্বাচিত উত্তর এবং ইভানের মন্তব্যে যায়)

আশা করি এটি সাহায্য করতে পারে।


1

যারা Symfony2 / 3 ব্যবহার করছেন এবং আপনি কেন এই ত্রুটি পাচ্ছেন তা ভাবছেন। আপনি যদি "ম্যাপিং_ টাইপস" ব্যবহার করেন তবে আপনার এই ত্রুটির মুখোমুখি হতে পারে। কারণটি হ'ল "ম্যাপিং_ টাইপস" ভুল স্তরে স্থাপন করা হয়েছে। এই ক্ষেত্রে :

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

পিএইচপি-র ভুল ইনস্টলেশন ডাকা হচ্ছে

আমি একই সমস্যা ছিল। এবং আমি আশা করি এটি আমার মতো একই সমস্যাযুক্ত কাউকে সহায়তা করবে।

দৃশ্যপট

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

আমি "অ্যাপ্লিকেশন পিএইচপি-মাইএসকিএল পিএইচপি 7 টু ইনফিনিটি নিয়ে সংগ্রাম করেছি এবং স্ক্লাইট-যা-যা হয় তা ভুলে যাব না" এবং আমি এই ত্রুটি বার্তা থেকে মুক্তি পেতে পারি না যতক্ষণ না আমি বেসিকগুলিতে ফিরে যাই এবং ওয়েব-সাইটে ফাইল-অনুমতিগুলি পুনরায় সেট না করি until প্রশ্নে.

এই 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

সমস্যা সমাধান।

দ্রষ্টব্য: এটি পুরানো পিএইচপি সংস্করণগুলির জন্য কাজ করবে না কারণ তারা কনফিগারেশনের সন্ধান করেনি /etc/php5/mods-enabled

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.