दिलचस्प पोस्ट
सी # में मैं एक और थ्रेड से GUI कैसे अपडेट करूं? कन्स्ट्रक्टर और एनजीओएनआईआईटीआईटी के बीच अंतर उसी कुंजी के तहत कई मानों के साथ हैशमैप किसी एप्लिकेशन या प्रक्रिया के वास्तविक मेमोरी उपयोग को कैसे मापें? विशिष्ट समय पर सेवा शुरू करने के लिए अलार्ममैनेजर का उपयोग करना स्टार्टअप पर एंड्रॉइड ब्रॉडकास्ट रिसीवर – गतिविधि पृष्ठभूमि में है जब चलते रहें dict.fromkeys सभी बिंदु एक ही सूची में जावा नई फ़ाइल () FileNotFoundException कहते हैं लेकिन फ़ाइल मौजूद है पंक्तियों के लिए डायनामिक कॉलम ट्रांसपोज़िंग स्ट्रिंग :: c_str () अब सी + + 11 में समाप्त नहीं है? क्या मुझे कोई भी शून्य * कास्टिंग करते समय static_cast या reinterpret_cast का उपयोग करना चाहिए सीएसएस चयनकर्ता में तारांकन (*) क्या करता है? एक दृश्यपेज के अंदर टुकड़े को बदलें ऑपरेशन में 1 कॉलम होना चाहिए – MySQL नहीं है जीएसएम एसएम 5100 बी सीएमईआरआर: 4 त्रुटि

अपरिभाषित फ़ंक्शन mysql_connect ()

मैंने aptitude install php5-mysql (और MySQL / Apache 2 को पुनरारंभ), लेकिन मुझे अभी भी यह त्रुटि मिल रही है:

घातक त्रुटि: अपरिभाषित फ़ंक्शन mysql_connect () में कॉल करें /home/validate.php में लाइन 21 पर

phpinfo() कहना है कि /etc/php5/apache2/conf.d/pdo_mysql.ini फ़ाइल को पार्स किया गया है।

वेब के समाधान से एकत्रित समाधान "अपरिभाषित फ़ंक्शन mysql_connect ()"

खैर, ये आपका मौका है! ऐसा लगता है कि पीडीओ तैयार है; इसके बजाय इसका उपयोग करें

यह देखने के लिए प्रयास करें कि PHP MySQL एक्सटेंशन मॉड्यूल लोड किया जा रहा है या नहीं:

 <?php phpinfo(); ?> 

अगर ऐसा नहीं है, तो php.ini फ़ाइल में निम्नलिखित जोड़ें:

 extension=php_mysql.dll 

मैं देख रहा हूँ कि आपने इसे उबुंटू के साथ टैग किया है सबसे अधिक संभावना MySQL ड्राइवर (और संभवतः MySQL) स्थापित नहीं है यह मानते हुए कि आपके पास SSH या टर्मिनल एक्सेस और सूडो अनुमतियां हैं, सर्वर में प्रवेश करें और इसे चलाएं:

 sudo apt-get install mysql-server mysql-client php5-mysql 

यदि MySQL संकुल या php5-mysql पैकेज पहले ही इंस्टॉल किए गए हैं, तो यह उन्हें अद्यतन करेगा।


अद्यतन करें

चूंकि यह जवाब अभी भी कभी-कभी क्लिक हो जाता है मैं इसे PHP 7 को शामिल करने के लिए अद्यतन करने जा रहा हूँ। PHP 7 को MySQL के लिए एक अलग पैकेज की आवश्यकता है, ताकि आप apt-get कमांड के लिए एक अलग तर्क का उपयोग करना चाहें।

 sudo apt-get install mysql-server mysql-common php7.0 php7.0-mysql 

और महत्वपूर्ण बात, mysql_connect() को PHP v5.5.0 के बाद से पदावनत किया गया है। यहां आधिकारिक दस्तावेज देखें: PHP: mysql_connect ()

अगर कोई डॉकर पीएचपी आधिकारिक छवियों की समस्या के साथ आया है, तो डॉकर कंटेनर के नीचे कमांड टाइप करें

 $ docker-php-ext-install mysql mysqli pdo pdo_mysql 

अधिक जानकारी के लिए कृपया उपरोक्त लिंक्स को देखें कि How to install more PHP extensions अनुभाग How to install more PHP extensions (लेकिन यह मेरे लिए थोड़ा मुश्किल है …)।

यदि आप पहले ही PHP7 का उपयोग कर रहे हैं, तो पूर्व में बहिष्कृत कार्य mysql_* को पूरी तरह से हटा दिया गया था, इसलिए आपको अपने कोड को PDO-functions या mysqli_* फ़ंक्शंस का उपयोग करके अद्यतन करना चाहिए।

यदि यह संभव नहीं है, तो एक वैकल्पिक हल के रूप में मैंने एक छोटी सी फाइल बनाई, जो कि mysqli_*() -functions के साथ पुराने फ़ंक्शन को पुन: बनाता है : fix_mysql.inc.php

प्रयत्न:

 <?php phpinfo(); ?> 

पृष्ठ चलाएं और mysql लिए खोज करें यदि नहीं मिला, तो शेल में निम्न चलाएं और अपाचे सर्वर को पुनरारंभ करें:

 sudo apt-get install mysql-server mysql-client php5-mysql 

यह भी सुनिश्चित करें कि आपके पास सभी apache2.conf (या आपके conf.d / php.ini फ़ाइल) में से कुछ ऐसी पंक्तियां शामिल हैं जो कि आपके apache2.conf में

 ;extension=php_mysql.so 

सेवा मेरे

 extension=php_mysql.so 

मेरा अनुमान है कि आपकी PHP स्थापना MySQL समर्थन से संकलित नहीं हुई थी

अपने कॉन्फ़िगर कमांड ( php -i | grep mysql ) की जांच करें आपको '--with-mysql=shared,/usr' जैसी कुछ दिखाई देनी चाहिए

आप http://php.net/manual/en/mysql.installation.php पर पूर्ण निर्देशों की जांच कर सकते हैं। हालांकि, मैं @वानवाकिक द्वारा प्रस्तावित समाधान के साथ जाना चाहता हूं।

फिर भी, मुझे लगता है कि आपको पीडीओ का उपयोग करने के लिए MySQL समर्थन चाहिए।

मैं भी अनिर्धारित MySQL_connect () की एक ही समस्या के साथ अटक गया था। मैंने PHP.ini फ़ाइल में परिवर्तन करने की कोशिश की लेकिन यह मुझे एक ही त्रुटि दे रहा था तब मैं इस समाधान पर आया जहां मैंने अपने कोड को बदतर PHP कार्यों से नए फ़ंक्शन पर बदल दिया।

 $con=mysqli_connect($host,$user,$password); mysqli_select_db($con,dbname); //To select the database session_start(); //To start the session $query=mysqli_query($con,your query); //made query after establishing connection with database. 

उम्मीद है इससे आपको मदद मिलेगी । यह समाधान मेरे लिए सही तरीके से काम कर रहा है

सवाल extension=mysqli.dll साथ टैग किया गया है, लेकिन extension=mysqli.dll टिप्पणी extension=mysqli.dll खिड़कियों के लिए विशिष्ट है। मैं यहाँ उलझन में हूँ?!, वैसे भी, पहली बात <? php phpinfo ?> <? php phpinfo ?> और mysql* के लिए Configuration शीर्षक के अंतर्गत खोजें। यदि आपको ऐसी कोई चीज नहीं दिखाई देती है तो आप ने php-mysql या php-mysql स्थापित या सक्षम नहीं किया है तो पहले php-mysql स्थापित करें

sudo apt get install php-mysql

यह आज्ञा php-mysql आपके द्वारा पहले से स्थापित किए गए php आधार पर स्थापित करेगा, इसलिए संस्करण के बारे में कोई चिंता नहीं है!

फिर यूनिक्स विशिष्ट समाधान आता है, php.ini फ़ाइल में लाइन पर टिप्पणी न करें

 extension=msql.so 

सत्यापित करें कि msql.so /usr/lib/php/<timestamp_folder> , ELSE

 extension=path/to/msql.so 

फिर अंततः apache और Configrations सेवाओं को पुनरारंभ करें, और अब आप phpinfo page में हेडिंग Configrations तहत mysql अनुभाग देख सकते हैं

Php.ini फ़ाइल में

इसे बदलो

 ;extension=php_mysql.dll 

में

 extension=php_mysql.dll 

मुझे यह त्रुटि मिल रही है क्योंकि जिस प्रोजेक्ट पर मैं काम कर रहा था वह PHP 5.6 पर विकसित हुआ था और इंस्टॉल करने के बाद, परियोजना php7.1 पर चलने में असमर्थ थी।

बस एनगेंक्स डायरेक्टरी (/ etc / nginx /) में उबंटू / एनजीएनएक्स के साथ वार्जंट का उपयोग करने वाले किसी भी व्यक्ति के लिए, "साइट-उपलब्ध" नामक एक निर्देशिका है जिसमें यूआरएल जैसे नामित फाइल शामिल है जो वांग्रेट मैस्चिन के लिए कॉन्फ़िगर की गई है। मेरे मामले में होमस्टेड.एप था। इस फाइल के भीतर एक लाइन है जो कुछ ऐसा कहती है

  fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; 

वहां आप उस विशिष्ट साइट के लिए इच्छित फ़ैशन संस्करण को बदल सकते हैं।

यह गुगल, लेकिन वास्तव में एक सरल जवाब खोजने में सक्षम नहीं था जिसने कहा था कि कहां और कहाँ क्या बदलना है।

आशा है कि यह किसी को भी मदद करता है धन्यवाद।

कुछ वाक्यविन्यास त्रुटि होनी चाहिए। इस कोड को कॉपी / पेस्ट करें और देखें कि यह काम करता है:

 <?php $link = mysql_connect('localhost', 'root', ''); if (!$link) { die('Could not connect:' . mysql_error()); } echo 'Connected successfully'; ? 

मेरे पास एक ही त्रुटि संदेश था यह पता चला है कि मैं mysql_connect() बजाय msql_connect() फ़ंक्शन का उपयोग कर रहा था

चरण 1: अपाचे कंट्रोल पैनल पर जाएं> अपाचे> कॉन्फ़िगर> PHP.ini

चरण 2: नोटपैड (Ctrl + F) में खोजें: extension_dir = "" इस रेखा को इस प्रकार से बदलें: extension_dir = "C: \ php \ ext"

चरण 3: के लिए खोजें: एक्सटेंशन = php_mysql.dll और निकालें ; भीख माँग में

चरण 4: अपाचे कंट्रोल पैनल को सहेजें और पुनरारंभ करें

बस 🙂

यदि आपको त्रुटि मिलती है तो

घातक त्रुटि: अपरिभाषित फ़ंक्शन mysql_connect () पर कॉल करें

कृपया cPanel में प्रवेश करें >> चुनिंदा पीएचपी संस्करण पर क्लिक करें >> एक्सटेंशन MYSQL का चयन करें