উবুন্টু 16.04 এলটিএসে মংডোব পিএইচপি এক্সটেনশানটি কীভাবে ইনস্টল করবেন


27

আমি উবুন্টু 16.04 এলটিএস চালাচ্ছি এবং আমি পিএইচপি দিয়ে মংডব ব্যবহার করতে চাই। এর জন্য আমি চেষ্টা করেছি

sudo apt-get install php5-mongo

যা উবুন্টুর পক্ষে যথেষ্ট 14.04 এলটিএস যথেষ্ট হবে তবে আমি ভুল ছিল। আমি ত্রুটির বার্তা পাচ্ছি:

E: Unable to locate package php5-mongo

আমি শুধু মেশিন অপারেটিং সিস্টেম আপগ্রেড করেছি Ubuntu 16.04 LTSএবং ব্যবহার করতে চেয়েছিলেন mongodbসঙ্গে PHP 7.0.4

সুতরাং আমি এই সমাধান করতে কি করতে পারি?


আমি sudo apt-get install php7-mongoএটিও চেষ্টা করেছিলাম কিন্তু কোনও ইতিবাচক ফল পাইনি
বিকাশ কুমার

আপনি যদি পিএইচপি 5-মঙ্গো দিয়ে চান তবে এটি ব্যবহার করে দেখুনsudo add-apt-repository ppa:chris-lea/mongodb-drivers sudo apt-get update sudo apt-get install php5-mongo
ভোরদুপুর

@ ভোরদুপুর এই সংগ্রহস্থলটি অবৈধ বলে মনে হচ্ছে। এছাড়াও, আপনি কি পরিবর্তে এটিকে উত্তর দেওয়ার কথা বিবেচনা করেছেন? W: The repository 'http://ppa.launchpad.net/chris-lea/mongodb-drivers/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. N: See apt-secure(8) manpage for repository creation and user configuration details. E: Failed to fetch http://ppa.launchpad.net/chris-lea/mongodb-drivers/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
বিবেক কোডিরা

1
@ বিবেককডিরা না আমি এটির উত্তর হিসাবে রাখিনি কারণ ভিকি আর উবুন্টু ১.0.০৪ এলটিএস ব্যবহার করছেন যেখানে এই পিএইচপি-মঙ্গোদব সম্পাদন করার সময় ডিফল্টভাবে php7.x ইনস্টল করা হয়েছিল। আমি মন্তব্য করেছি যে তার কারণে তিনি 14 থেকে 16 পর্যন্ত এসেছিলেন তবে এখনও তিনি উপরে যে মন্তব্য করেছিলেন তা সে এখনও ব্যবহার করতে পারে। এই কারণেই আমি উত্তর হিসাবে আমার মন্তব্য রাখিনি।
ভোরদুপুর

উত্তর:


52

মোংডব এক্সটেনশনটি ইনস্টল করতে, করুন:

sudo apt-get install php-mongodb

2
এটি কীভাবে পিএইচপি 7 এর জন্য গৃহীত উত্তর? উবুন্টু 16.04-এ এই কমান্ডটি php5.6 মঙ্গো ইনস্টল করবে?
লাইগামার

2
@ লাইগার 16.04 এর পিএইচপি হিসাবে ডিফল্ট পিএইচপি হিসাবে পিএইচপি 7.0 রয়েছে, অতএব সমস্ত মেটা প্যাকেজগুলি said.০ সংস্করণটি ইনস্টল করে।
ভিডিওনাথ

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

1
প্যাকেজ ইনস্টল করার পরে অ্যাপাচি সার্ভারটি পুনরায় চালু করতে ভুলবেন না।
TheKarateKid

আমি কি এডাব্লুএস লিনাক্স ইক্য 2 এর জন্য একই কমান্ড ব্যবহার করতে পারি?
151291

8

আমি নিশ্চিত যে আপনি এতক্ষণে একটি সমাধান খুঁজে পেয়েছেন। তবে আমি কীভাবে এটি করেছি তা ভাগ করতে চাই:


6

আমি উবুন্টু 16.04 এ পিএইচপি সংস্করণ 7.0 ব্যবহার করছি। আমি মঙ্গো ড্রাইভার / ক্লায়েন্ট ইনস্টল করার জন্য একটি বিশদ তথ্য দিচ্ছি। প্রথমে আমি ম্যানুয়ালি মংডোব এবং তারপরে মঙ্গোদব-পিএইচপি ড্রাইভারটি ইনস্টল করেছি।

1) মঙ্গো ডিবি ইনস্টল করা। নিম্নলিখিত কমান্ড লিখুন:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

$ sudo apt-get update

$ sudo apt-get install -y mongodb-org

একটি পরিষেবা হিসাবে মংডিবকে যথাযথভাবে চালু করতে, সিস্টেম শুরু হওয়ার সাথে সাথে স্বয়ংক্রিয়ভাবে মোংডব শুরু হবে, নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:

/ Etc / systemd / system / এ / কমান্ডটি লিখে mongodb.service ফাইল তৈরি করুন:

$ sudo nano /etc/systemd/system/mongodb.service

এটিতে নিম্নলিখিত বিষয়বস্তুগুলি আটকে দিন:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

তারপরে নিম্নলিখিত কমান্ডগুলি প্রবেশ করান:

$ sudo systemctl start mongodb

$ sudo systemctl enable mongodb

2) মঙ্গো-পিএইচপি ড্রাইভার ইনস্টল করা:

$ sudo pecl install mongodb

এছাড়াও আপনি ত্রুটি পেতে পারেন: phpize পাওয়া যায় নি। Phpize একটি কমান্ড যা একটি বিল্ড এনভায়রনমেন্ট তৈরি করতে ব্যবহৃত হয়। এই ত্রুটিটি কোনও পেকল এক্সটেনশন ইনস্টল করার সময় উপস্থিত হতে পারে। Phpize কমান্ডের এই সমস্যাটি সমাধান করার জন্য, ব্যবহারকারীকে php5-dev প্যাকেজ ইনস্টল করতে হবে। এটি ইনস্টল করতে কমান্ডটি লিখুন:

 $ sudo apt-get install php7.0-dev

তারপরে /etc/php/7.0/apache2 ডিরেক্টরিতে থাকা php.ini ফাইলটিতে মঙ্গো ডিবি এক্সটেনশন যুক্ত করুন:

$ sudo nano /etc/php/7.0/apache2/php.ini 

ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন:

এক্সটেনশন = মঙ্গো.সো;

(আপনার ফাইলটির সঠিক অবস্থান নির্দিষ্ট করার দরকার হতে পারে my আমার ক্ষেত্রে ফাইলটি /usr/lib/php/20151012/mongodb.so এ ছিল))

সুতরাং মোঙ্গো ডিবি এর ড্রাইভার সহ ইনস্টল করা আছে।

3) এখন মনে রাখবেন যে মঙ্গো-পিএইচপি ক্লাস পরিবর্তন করা হয়েছে। নেটে উপলভ্য বেশিরভাগ সংস্থানগুলি পুরানো ক্লাসগুলি ব্যবহার করে সমাধান দেয় যা ছাড়িয়ে যায়। নীচের লিঙ্কগুলি যা আপনি উল্লেখ করতে পারেন:

http://php.net/manual/en/set.mongodb.php

http://zetcode.com/db/mongodbphp/

বুনিয়াদি ডাটাবেস ক্রিয়াকলাপের জন্য এখানে কয়েকটি আদেশ রয়েছে:

$mng = new MongoDB\Driver\Manager(); // Driver Object created

ডাটাবেসে ডেটা Toোকাতে:

$bulk = new MongoDB\Driver\BulkWrite;

$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];

$bulk->insert($doc);

$mng->executeBulkWrite('dbName.collectionName', $bulk);

ডেটা আনার জন্য:

$query = new MongoDB\Driver\Query([]); 

$rows = $mng->executeQuery("dbName.collectionName", $query);

foreach ($rows as $row) 
    {
         echo "$row->data - $row->info\n";
    }

1

বা পিএইচপি 7 এর জন্য

sudo apt-get install php7.0-mongodb

আমরা মোংডব ইনস্টল করেছি তবে ব্রাউজারে লোডিং জাম্পসেট পাওয়ার ক্ষেত্রে ত্রুটি যেমন: ত্রুটি: মোংগোডিবি পিইসিএল এক্সটেনশন ইনস্টল করা বা সক্ষম করা হয়নি
শিবশঙ্কর এম

0

আমি এটি আমার ডকস্পাইলে ব্যবহার করছি:

echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
curl -OL https://www.dotdeb.org/dotdeb.gpg \
    && apt-key add dotdeb.gpg \
    && rm dotdeb.gpg
apt-get update -y \
    && apt-get install -y \
        php7.0 \
        php7.0-mongodb \
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.