পিএইচপি 5 এর জন্য এমক্রিপ্ট পাওয়া যায় না


29

আমি এটি অনেকবার করেছি:

sudo aptitude install php5-mcrypt

sudo apache2ctl restart

প্রবণতা এমক্রিপ্ট ইনস্টল করা হয়েছে বলে। আমি ইতিমধ্যে এটি 3 বার পুনরায় ইনস্টল করেছি। এটি ইনস্টল করার পরে আমি প্রায় 20 বার অ্যাপাচি পুনরায় শুরু করেছি। আমি যখন phpInfo তাকান, আমি এমক্রিপ্ট তালিকাভুক্ত দেখতে পাই না। আমি যখন আমার কোডটি কার্যকর করার চেষ্টা করি তখন এটি এমক্রিপ্ট ফাংশন বলে (একটি বেছে নিন - যে কোনও একটি) বিদ্যমান নেই। mcrypt স্পষ্টভাবে সক্ষম নয়।

ভুল কী হতে পারে তার কারও কি ধারণা আছে? আমি জানি না কোন টুকরো কোথায় হওয়া উচিত এবং কীভাবে এই সমস্ত একসাথে ফিট করার কথা।

আমি পিএইচপি 5.5.3 ইনস্টল করেছি


আপনি কি প্যাকেজ ম্যানেজার ( apt-get/ aptitude) থেকেও পিএইচপি ইনস্টল করেছেন? প্যাকেজটি কেবল এটি সম্পর্কে "জানে" এর php5-mcryptজন্য এক্সটেনশানটি কনফিগার করতে পারে php.ini। দ্বিতীয়ত, আমি এখন apache2ctlমডিউলগুলি পুনরায় লোড করি না । অ্যাপাচি পুনরায় চালু করার "সাধারণ" উপায়টি হ'ল কিছু sudo service apache2 restart। তৃতীয়ত, পিএইচপি কীভাবে আপনার অ্যাপাচে সংযুক্ত আছে? আপনি যদি (এফ) সিজি বা পিএইচপি-এফএমপি (Mod-php এর বিপরীতে) এর মতো কিছু ব্যবহার করেন তবে আপনার সম্ভবত পিএইচপি পুনরায় চালু করতে হবে, অতিরিক্ত এপাচি পুনরায় চালু করার জন্য।
হেনিং কোকারবেক

প্রবণতা ব্যবহার করে আমরা সবকিছু ইনস্টল করেছি। apache2ctl বন্ধ হয়ে যায় এবং অ্যাপাচি পুনরায় চালু করে। এই ইনস্টলগুলির পরে আমরা বেশ কয়েকবার কম্পিউটার পুনরায় চালু করেছি। আমার উপর বিশ্বাস করুন যখন আমি বলি যে আমরা পিএইচপি 5-এমক্রিপ্ট - পাশাপাশি পিএইচপি ইনস্টল করার পরে অ্যাপাচি "পুনঃসূচনা" হয়েছে। পিএইচপি 5 অ্যাপাচি মডিউল হিসাবে সূক্ষ্মভাবে কাজ করে - এটি পিএইচপি-তে লিখিত একটি ওয়েবসাইট - তাই আমি ধরে নিই যে পিএইচপি অ্যাপাচি মডিউল হিসাবে ইনস্টল করা আছে। আমি যদি / etc / apache2 / mods- সক্ষম পিএইচপি 5 এ যাই তবে সেই তালিকায়। আমি mcrypt কে / etc / php5 / mods- এ দেখতে পাচ্ছি না তবে আমি sudo প্রবণতা অনুসন্ধান এমক্রিপ্ট করি তবে আমি 3 টি জিনিস ইনস্টলড দেখতে পাচ্ছি: libmcypt4, mcrypt এবং php5-mcrypt - ????
ডেভেলপার ডেভ

(প্রায় 5 তম থেকে 7 তম এন্ট্রি) php.iniএর আউটপুটে তালিকাভুক্ত কোনটি phpinfo? এটিতে একটি ফাইল হওয়া উচিত /etc/php5/। আপনি যদি সেই ফাইলটির জন্য অনুসন্ধান করেন তবে mcryptকী সামনে আসে?
হেনিং কোকারবেক

php.ini /etc/php5/apache2/php.ini এ আছে সেখানে 2 টি সেটিংস সহ একটি এমক্রিপ্ট বিভাগ রয়েছে - উভয়ই মন্তব্য করেছে - mcrypt.algorithms_dir এবং mcrypt.modes_dir উপরের মন্তব্যগুলি বলে যে ডিফল্টটি / usr / স্থানীয় / lib / libmcrypt - এই ডিরেক্টরিগুলির অস্তিত্ব নেই। এটিই প্রথম আমাকে এই সত্যটিতে আটকে রেখেছিল যে প্রবণতাটি এটি বলে যদিও এমক্রিপ্ট ইনস্টল করা যাবে না। যদি আমি sudo প্রবণতা তথ্য করি তবে এমক্রিপ্ট বলে যে প্যাকেজ রাষ্ট্রটি ইনস্টল করা আছে - সংস্করণ ২.6.৮-১.৩ - এটি বিবাদগুলি: এমক্রিপ্ট - তাই কি বলছে? এই প্যাকেজটি কি নিজের সাথে বিরোধ? ব্যবহারকারীর তথ্য এনক্রিপ্ট করার আরও ভাল উপায় আছে কি?
ডেভেলপার ডেভ

আপনার mcryptপ্যাকেজটি যত্ন নেওয়ার দরকার নেই । পিএইচপি এক্সটেনশনের মতো এটি কমান্ড লাইন প্রোগ্রাম যা libmcrypt ব্যবহার করে। সুতরাং আপনাকে প্যাকেজ libmcrypt4ইনস্টল করা আছে তা নিশ্চিত করা দরকার। এখানে একটি php.iniস্নিপেট আছে /etc/php5/conf.d/mcrypt.ini? যে lib লোড করা উচিত। সেই স্নিপেট কি পিএইচপি দ্বারা লোড করা আছে (দেখুন phpinfo)? আবার, আপনি কি তার sudo service apache2 restartপরিবর্তে আপাচি পুনরায় চালু করার চেষ্টা করেছেন apache2ctl?
হেনিং কোকারবেক

উত্তর:


62

এটা চেষ্টা কর

sudo php5enmod mcrypt

sudo service apache2 restart

সুন্দরভাবে কাজ করেছে এবং সিমলিংকটি (পুরো জিনিসটি অনুলিপি করাতে) আমার জন্য +1। এত উঁচু!
স্টেফানো এমতাঙ্গু

4
এটি আমার পক্ষে কাজ করেছে। তবে আমার প্রথম কমান্ডের (এলএন) দরকার নেই। আমার কাছে /etc/php5/apache/conf.d ফোল্ডারে কোনও mcrypt.ini ছিল না। চলমান sudo php4enmod এমক্রিপ্ট কাজ করেছে। এখন সেখানে ফাইল। সার্ভার কাজ করে !. অনেক ধন্যবাদ.
পিটারেপ্ট

1
ধন্যবাদ এটির কাজ ঠিক আছে। তবে আপনি যে কমান্ডটি "sudo php5enmod mcrypt" ব্যবহার করেছেন তা সম্পর্কে জানতে চাই .. এটি কী ..? এই আদেশটি ব্যবহারের উদ্দেশ্য কী ..?
ইলাভরাশন

1
"sudo php5enmod mcrypt" "/etc/php5/conf.d" ডিরেক্টরিতে একটি অগ্রাধিকার সংখ্যার (ডিফল্ট ২০) ডিরেক্টরিতে একটি সিমিলিংক তৈরি করবে যাতে আপনি "sudo php5dismod mcrypt" দিয়ে ini ফাইলগুলি পরিবর্তন না করে এটি আনইনস্টল করতে পারেন
ভিজেরাই

11

উবুন্টু 13.10 এ আমার একই সমস্যা ছিল। সুরকার ইনস্টল করার পরে এটি একই ত্রুটি তৈরি করেছিল, শেষ পর্যন্ত।

****Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-update-cmd event returned with an error

  [RuntimeException]  
  Error Output:****   

আমি ইনস্টল করেছি mcryptএবং php5-mcryptপ্রবণতা সহ, এবং এখনও লোড এক্সটেনশন হিসাবে প্রদর্শিত php -mহয়নি mcrypt:

aptitude install mcrypt
aptitude install php5-mcrypt

আমি একটি দৌড়ে updatedb, এবং তারপর locate mcrypt। আমি আমার mcrypt.iniভিতরে পেয়েছি /etc/php5/conf.d। তবুও অন্যান্য সমস্ত এক্সটেনশানগুলির (যেমন জসন) তাদের .ini ফাইলগুলিতে /etc/php5/apache2/conf.dএবং ছিল /etc/php5/cli/conf.d। এই দু'জনেরই লিঙ্ক ছিল ../../mods.available

সুতরাং, আমি তখন সরানো mcrypt.iniথেকে /etc/php5/available-modules, এবং সেট লিঙ্ক:

cd /etc/php5/cli/conf.d
ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini

এবং একইভাবে জন্য /etc/php5/apache2/conf.d

এবং ভয়েলা, এটি প্রদর্শিত হয়েছে php -m!


এই উত্তরের জন্য অনেক ধন্যবাদ। সম্পূর্ণরূপে আমার বাছাই। যদিও আমি /etc/php5/conf.d/mcrypt.ini সরানো হয়নি - আমি কেবলমাত্র আমার প্রতীকী লিঙ্কগুলি সেই অবস্থানটির দিকে নির্দেশ করেছি যা এটিও কাজ করেছিল এবং সম্ভবত ভবিষ্যতে আপডেটগুলি মাইক্রিপ্টের স্বয়ংক্রিয়ভাবে লোড হওয়ার বিষয়টি নিশ্চিত করবে?
অ্যালেক্সিওনার্ড

2

আইএনআই স্নিপেটের মতো দেখে মনে হচ্ছে যে পিএইচপি যখন আপাচে কল করে তখন libmcrypt লোড করা হয়। /etc/php5/apache2/conf.d/mcrypt.iniনিম্নলিখিত বিষয়বস্তু সহ একটি ফাইল বলা উচিত

; configuration for php MCrypt module
extension=mcrypt.so

আপনার মত অন্যান্য পিএইচপি ইন্টিগ্রেশন এর vonfigurations থেকে এটা কপি করতে সক্ষম হওয়া উচিত /etc/php5/cli/conf.d/mcrypt.iniবা /etc/php5/conf.d/mcrypt.iniকি আপনার সিস্টেমে ইনস্টল উপর নির্ভর করে।


2

Mcrypt মডিউলটি ডিফল্টরূপে সক্ষম হয় না। এমক্রিপ্ট মডিউল সক্ষম করুন এবং তারপরে অ্যাপাচি পুনরায় চালু করুন ( ক্রেডিট )

sudo php5enmod mcrypt
sudo service apache2 restart

1

ঠিক আছে, এটি। দেখে মনে হচ্ছে কখনও কখনও আমরা 'এনমোড' এর মতো সহজ কিছু করার জন্য সবচেয়ে জটলা উপায়ের সন্ধানে থাকি; ) -এর মত Boinst বলেছেন: sudo php5enmod mcrypt। তারপরে অ্যাপাচি পুনরায় লোড করুন।

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