উবুন্টুতে পিসিএল প্যাকেজ ইনস্টল করুন


32

আমি এটি চেষ্টা করেছি 100 বার উবুন্টুতে আমি সত্যিই নতুন এবং একগুচ্ছ ত্রুটি দিয়ে শেষ করেছি যা আমি বুঝতে পারি না যে কেউ দয়া করে আমাকে সাহায্য করতে পারে ??

আমি যা করেছি তা এখানে:

  1. আমি পিএইচপি ইনস্টল করেছি
  2. আমি libcurl তারপর php5-dev ইনস্টল করেছি
  3. আমি PECL এক্সটেনশানটি ইনস্টল করার চেষ্টা করেছি এবং এটি PHPIZEখুঁজে পাওয়া যায় না।

উবুন্টুকে জিজ্ঞাসা করুন স্বাগতম আপনি জারি করা সম্পূর্ণ আদেশ এবং সম্পূর্ণ ত্রুটি বার্তা আমাদের দিতে পারেন দয়া করে। তথ্য যোগ করতে আপনার প্রশ্ন পাঠ্য সম্পাদনা করুন।
ম্যাডমাইক 10'14

উত্তর:


48

প্রথমে আপনি মাধ্যমে PEAR ইনস্টল করতে হবে apt-getউভয় প্রয়োজনীয় প্যাকেজ এবং বিতরণ ব্যবস্থা পেতে PEARএবং PECLব্যবহার। শেল প্রম্পট থেকে প্রবেশ করুন:

sudo apt-get install php-pear

আপনাকে ইনস্টলটি নিশ্চিত করতে অনুরোধ করা হবে। শুধু "y" টিপুন এবং প্রবেশ করুন। যদি সবকিছু ঠিকঠাক হয় তবে আপনার এটি পিএইচপি-পিয়ার প্যাকেজটি ডাউনলোড এবং ইনস্টল করা উচিত।

অতিরিক্ত মডিউলগুলি সংকলনের জন্য প্রয়োজনীয় পিএইচপি 5 উত্স ফাইলগুলি পেতে এখন আপনাকে পিএইচপি 5-ডেভ প্যাকেজ ইনস্টল করতে হবে। শেল প্রম্পট থেকে নিম্নলিখিতটি প্রবেশ করান:

sudo apt-get install php5-dev

আপনি যদি পিএইচপি 5-ডেভ প্যাকেজটি ইনস্টল না করে এবং "পিয়ার ইনস্টল" ব্যবহার করে একটি পিসিএল এক্সটেনশন ইনস্টল করার চেষ্টা করেন তবে আপনি নিম্নলিখিত ত্রুটিটি পাবেন:

sh: phpize: not found
ERROR: `phpize’ failed

PECL_HTTP এক্সটেনশানটি ইনস্টল করার জন্য একটি অতিরিক্ত নির্ভরতা প্যাকেজ দরকার। আপনি সম্ভবত অন্যান্য এক্সটেনশনের জন্য এড়িয়ে যেতে পারেন:

sudo apt-get install libcurl3-openssl-dev

এখন আমরা অবশেষে এক্সটেনশনটি ইনস্টল করতে প্রস্তুত। শেল প্রম্পট থেকে নিম্নলিখিত প্রবেশ করুন তবে আপনি যে পিসিএল এক্সটেনশন নামটি ইনস্টল করছেন তার সাথে "pecl_http" বিকল্প দিন:

sudo pecl install pecl_http

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

ইনস্টলটি সম্পূর্ণ হয়ে গেলে, সম্ভবত এটি আপনাকে আপনার php.ini ফাইলটিতে একটি "এক্সটেনশন =" লাইন যুক্ত করতে বলবে। আপনার প্রিয় পাঠ্য সম্পাদকটিতে php.ini ফাইলটি খুলুন এবং "ডায়নামিক এক্সটেনশানস" লেবেলযুক্ত বিভাগের আওতায় লাইন যুক্ত করুন। উবুন্টুতে php.ini ফাইলটি / etc / php5 / apache2 ফোল্ডারে অবস্থিত বলে মনে হচ্ছে:

sudo nano /etc/php5/apache2/php.ini

এই উদাহরণে, pecl_http এক্সটেনশন ইনস্টল আমাকে "এক্সটেনশন = http.so" যুক্ত করতে বলেছে। এখন যেহেতু php.ini ফাইলটি আপডেট করা হয়েছে, অ্যাপাচি পুনরায় চালু করা দরকার তাই নতুন এক্সটেনশন লোড হবে:

sudo /etc/init.d/apache2 restart 

সূত্র


এই একই পদক্ষেপগুলি আমি ঠিক অনুসরণ করেছিলাম (একই উত্স থেকে) এখনও কোনও আনন্দ নেই: / আমি উবুন্টুতে সরিয়েছি কেবলমাত্র কিছু এক্সটেনশনের জন্য যা উইন্ডোতে পাওয়া যায় না তবে এটি এত বিভ্রান্তিকর কারণ আমি এই সময়ে নতুন।
মনিতেজা

1
অনুগ্রহ করে নোট করুন: এটি করার makeআগে আপনার ইনস্টল করতে হতে পারে । সহজভাবে করুনsudo apt-get install make
টেমানো

5
আপনি যদি পিএইচপি 7 ব্যবহার করে থাকেন তবে এর php7.0-devপরিবর্তে আপনি প্যাকেজটিটি চাইবেন :sudo apt-get install php7.0-dev
গ্রাহাম সোয়ান

4

@ জিজ্ঞাসার উত্তর ছাড়াও আমারও করণীয় ছিল:

sudo apt-get install libpcre3-dev

দৌড়ানোর আগে pecl install pecl_httpকারণ আমি এই ত্রুটিটি পেয়েছিলাম pcre.h:

মারাত্মক ত্রুটি: pcre.h: এই জাতীয় কোনও ফাইল বা ডিরেক্টরি সংকলন সমাপ্ত হয়নি।

এছাড়াও, php.iniফাইলটি সম্পাদনার পরিবর্তে আমি একটি নতুন ফাইল তৈরি করেছি যেখানে ফাইলটি ছিল pecl-http.iniতার conf.dউপ-ডিরেক্টরিতে php.ini(উবুন্টুতে /etc/php5/apache2/conf.d)

এবং আমাকে তিনটি লাইনে যুক্ত করতে হবে:

extension=raphf.so
extension=propro.so
extension=http.so

অবশেষে, এই ইনস্টল করা সংস্করণটি 2.0.6আমি http_get_request_headersফাংশনটি ব্যবহার করতে পারিনি তবে তার পরিবর্তে নেমস্পিড সংস্করণটি ব্যবহার করা দরকার, \http\Env::getRequestHeader() আরও বিশদ এখানে দেখুন

PS: আপনার হয়ে গেলে অ্যাপাচি পুনরায় চালু করতে ভুলবেন না ( service apache2 restart)


ভাল কল; আশা করি আমি লাইব্রেরি-দেব-এর শিকার করতে যাওয়ার আগে আপনার উত্তরটি পড়তাম। আমিও যোগ করা উচিত যে আমার ক্ষেত্রে আমি যোগ করা প্রয়োজন extension=json.soসামনে http.soলাইন সত্ত্বেও ইতিমধ্যে থাকার json.iniফাইলে অন্তর্ভুক্ত conf.d
M1ke

1

মেথক্স এবং সিডব্লিউডির উত্তরগুলি ছাড়াও, আপনি নিজের php.ini ফাইলটি সম্পাদনা করতে চাইবেন না কারণ আপডেটগুলি হারিয়ে যেতে পারে এই পরিবর্তনগুলি lost

ডেবিয়ান (এবং এভাবে উবুন্টু) পিএইচপি মডিউলগুলি অ্যাপাচি মডিউলগুলির মতো পরিচালনা করে। একবার দেখুন /etc/php5, আপনি এই জাতীয় ডিরেক্টরি পাবেন:

apache2/
cli/
mods-available/

আপনি যখন mods-availableদেখেন তখন বেশ কয়েকটি ফাইল দেখতে পাবেন:

curl.ini
gd.ini
json.ini
mysql.ini
…

সমস্ত API (অ্যাপাচি, ক্লিপ, সিজি) এর জন্য এই উপলব্ধ মোডগুলিকে সক্ষম / অক্ষম করতে আপনি কেবলমাত্র আদেশগুলি ব্যবহার করতে পারেন php5enmodবা এ জাতীয় php5dismodপছন্দ করতে পারেন:

$ sudo php5enmod curl

যথাক্রমে

$ sudo php5dismod curl

এগুলি মডিউল কনফিগারেশন ফাইলে apache2/conf.d/এবং এর মধ্যে প্রতীকী লিঙ্কগুলি তৈরি করবে (বা অপসারণ) cli/conf.d/

আপনি (এই ক্ষেত্রে অ্যাপাচি) এর জন্য মোড সক্ষম / অক্ষম করতে সাপিকে নির্দিষ্ট করতে পারেন:

$ sudo php5enmod -s apache2

pecl installraphf(এবং এটির সাথে ইনস্টল করা অন্যান্য মডিউল) এর জন্য একটি কনফিগারেশন ফাইল তৈরি নাও করতে পারে তবে আপনি নিজেরাই এটি তৈরি করতে পারেন:

$ sudo touch /etc/php5/mods-available/raphf.ini

তারপরে নিম্নলিখিত লাইনে লিখুন:

; configuration for php raphf module
; priority=20
extension=raphf.so

ডিফল্ট অগ্রাধিকার 20 হয় It জন্য raphf20 জরিমানা বলে মনে হয়। ( আপডেট : আপনি pecl_http খুঁজছেন সংস্করণ 2 এর যেমন পর লোড হওয়ার করা rapfhএবং propro, তাই অগ্রাধিকার সেট mods-available/http.iniকরতে 30।)

এটির মাধ্যমে আপনি মডিউলটি সক্ষম করতে পারবেন:

$ sudo php5enmod raphf

(দ্রষ্টব্য: আমার উত্তর উবুন্টু 14.04 এর উপর নির্ভর করে তবে 13.04 এর জন্য সমান পদ্ধতিতে কাজ করতে পারে, দেখুন http://www.lornajane.net/posts/2012/managing-php-5-4-extions-on-ubuntu )


1

আজকাল, উত্স থেকে এটি পেতে এইভাবে PEAR ইনস্টল করুন:

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