পিএইচপি এবং মাইএসকিউএল যোগাযোগ করে না


9

আমি এই সিদ্ধান্তে পৌঁছেছি যে আমার পিএইচপি ইনস্টলেশন এবং আমার মাইএসকিউএল ইনস্টলেশনটি ভাল হচ্ছে না; আমি আমার প্রথম ওয়েব পৃষ্ঠা তৈরিতে কাজ করছি যা সামগ্রীতে মাইএসকিউএল ব্যবহার করে, তবে দু'দিন পরে, ম্যান পেজ, অনলাইন ডকুমেন্টেশন এবং কয়েক ডজন টিউটোরিয়াল পরে, আমি কেবল পিএইচপি / মাইএসকিউএল অংশটি কাজ করতে পারি না। আমার কাছে একটি প্রতিষ্ঠিত হোম ওয়েব সার্ভার রয়েছে (আমি একমাত্র প্রশাসক / ব্যবহারকারী) যা অ্যাপাচি চালায় এবং আমার ওয়েব পৃষ্ঠাগুলি হোস্ট করে। আমি মাইএসকিউএল ইনস্টল করেছি এবং টার্মিনালের মাধ্যমে একটি ডেটাবেস তৈরি করতে এবং জিজ্ঞাসা করতে সক্ষম হয়েছি। আমি পিএইচপি ইনস্টল করেছি এবং নথিতে পাঠ্য প্রিন্ট করতে ইকো ব্যবহার করতে পারি। আমি যখন মাইএসকিউএল নিয়ে কাজ করি তখন সমস্ত কিছু বদলে যায় ...

আমার একটি পৃষ্ঠা রয়েছে যাতে সূচনা উপাদান রয়েছে। হার্ডকডযুক্ত এইচটিএমএল এবং তারপরে মাইএসকিউএল অ্যাক্সেস করার জন্য পিএইচপি কোডের কয়েকটি অনুচ্ছেদ রয়েছে। আমি যখন প্রথম পৃষ্ঠাটি লোড করেছি তখন ফলাফলটি খালি পৃষ্ঠা। আমি পিএইচপি বিভাগটি মন্তব্য করেছি এবং প্লেইন এইচটিএমএল এখনও কাজ করে যা নিশ্চিত করে তা পুনরায় লোড করেছি which অতএব, পিএইচপি এর কিছু অংশ পৃষ্ঠার যে কোনও সময়কে লোডিং থেকে রক্ষা করছিল।

আমার কোডটির সমস্যা সমাধানের জন্য, আমি সার্ভার সংযোগের জন্য নিম্নলিখিত কোডটি ব্যতীত সমস্ত পিএইচপি কোডকে মন্তব্য করে রেখেছি, যা বেশ কয়েকটি বিভিন্ন টিউটোরিয়াল থেকে অভিযোজিত:

<?
echo("<p>PHP is working</p>"); 
$ses = mysql_connect("localhost","username","password");
if(!$ses){
 echo("<p>Connection to content server failed.</p>");
 exit();
}
echo("<p>Database Connected</p>");
?>

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

দেখে মনে হচ্ছে যে মাইএসকিএল_কনেক্ট বৈশিষ্ট্যটি সার্ভারের কোডটি চালনার সময় লোড করা বন্ধ করে দিচ্ছে, তবে কীভাবে এটি ঠিক করবেন সে সম্পর্কে আমি ধারণার বাইরে আছি। রেকর্ডের জন্য: আমি "সংযোগ = এমএসকিএল.এসও" লাইনটি অন্তর্ভুক্ত করতে php.ini ফাইলটি সংশোধন করেছি এবং আমি মাইএসকিউএল 5.5, অ্যাপাচি 2.2.22, পিএইচপি 5.3.10, উবুন্টু 12.04 ব্যবহার করছি। এছাড়াও, আমার রাউটার এবং মডেম উভয়ই সার্ভারে 3306 পোর্ট ফরওয়ার্ড করার জন্য কনফিগার করা হয়েছে - যদিও এটি কীভাবে প্রয়োজনীয় হওয়া উচিত তা আমি দেখছি না - এবং আমার মাইএসকিউএল ব্যবহারকারীর নাম এবং পাসওয়ার্ড ট্রিপল চেক করা হয়েছে এবং যা আমি সফলভাবে ব্যবহার করি তার অনুরূপ টার্মিনালে।

আমি কী মিস করছি?


1
সঠিক ব্যবহারকারীর নাম (সম্ভবত মূল) এবং পাসওয়ার্ড সহ 'ব্যবহারকারীর নাম' এবং পাসওয়ার্ড প্রতিস্থাপন করুন
Tachyons

2
হ্যাঁ, আমি এটা করেছি। আমি শুধু মনে করি নি যে ফোরামের উপর ব্যবহারকারীর নাম এবং পাসওয়ার্ড ফেলে দেওয়া ভাল ধারণা হবে। যেমনটি আমি শেষের দিকে বলেছি, টার্মিনালের মাধ্যমে ডেটাবেস সফলভাবে তৈরি, অ্যাক্সেস এবং সম্পাদনা করতে যা ব্যবহার করি তা এটির সাথে মেলে কিনা তা নিশ্চিত করার জন্য আমি অনেকবার ব্যবহারকারীর নাম এবং পাসওয়ার্ড পরীক্ষা করেছি।
কেসি হ্যাঙ্গলার

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

1
আপনি কি ইনস্টল করেছেন php5-mysql?
লরেন্ট

আমি বেশ নিশ্চিত, তবে আমি আবার চেষ্টা করব।
কেসি হাঙ্গার

উত্তর:


9

সবকিছু ঠিক আছে বলে মনে হচ্ছে আপনার ইনস্টলেশনটি সম্পূর্ণ হয়নি। MySQL এবং পিএইচপি যোগাযোগের জন্য, আপনাকে php5-mysql প্যাকেজটি ইনস্টল করতে হবে :

sudo apt-get install php5-mysql

এনবি: এটি কাজ করার আগে আমাকে কম্পিউটার পুনরায় চালু করতে হয়েছিল।
ব্যবহারকারী 124384

3

php5-mysqlপ্যাকেজ ইনস্টল করুন এবং মাইএসকিএল_কনেক্টের পরিবর্তে mysqli_connect ব্যবহার করুন


ধন্যবাদ, অন্য কেউ এটিরও পরামর্শ দিয়েছে, এবং এটি কার্যকর হয়েছে! যদিও আমি কৌতূহলী, আমার অনুসন্ধানগুলিতে আমি মাইএসকিলি (এবং পিডিও সাধারণত সেখানে উপস্থিত ছিল) সম্পর্কে স্টাফগুলি জুড়ে ফেলেছিলাম, এটি কী? এটি নিয়মিত মাইএসকিএল এর চেয়ে ভাল কী করে?
কেসি হ্যাঙ্গলার

মাইএসকিউএলআই একটি উন্নত সংস্করণ।
পেঁচা

আমি যা জানি, আপনার থেকে মাইএসকিলি ব্যবহার করা উচিত কারণ এটি পিএইচপি টিম দ্বারা প্রস্তাবিত এবং mysql_connect এখন আর বিকাশ নয়, কেবল রক্ষণাবেক্ষণে। আমি মনে করি mysql_connect উদাহরণস্বরূপ এবং অন্যান্য অনেকগুলি জন্য প্রস্তুত বিবৃতি গ্রহণ করে না।
লরেন্ট


1
sudo apt-get install php5-mysql

থেকে টমক্যাট-সংস্করণটি সন্ধান করুন /etc/init.d/। Tomcat7 নামের একটি ফাইল থাকা উচিত, তাই 7 সংস্করণ

sudo service tomcat7 stop 
sudo service tomcat7 start

কখনও কখনও মেশিন রিবুট অন্যান্য সমস্যাগুলি বাছাই করতে সহায়তা করে। পুনরায় বুট করার পরে, চালাতে ভুলবেন না:

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