Memcache.so এর সাথে ঝামেলা


8

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

Fatal error: Class 'Memcache' not found in [Path]wp-content/object-cache.php on line 350

এখন যেহেতু আমি মেমচিচ করেছি এবং মেমক্যাচ পিএইচপি প্লাগইন ইনস্টল হয়েছে (হোমব্রিউয়ের মাধ্যমে), আমি একটি "কোনও ডেটা প্রাপ্ত হয়নি" পৃষ্ঠা পেয়েছি এবং আমার এপাচি ত্রুটি লগটিতে এই ত্রুটি পেয়েছি:

dyld: lazy symbol binding failed: Symbol not found: _mmc_queue_pop
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
  Expected in: flat namespace

dyld: Symbol not found: _mmc_queue_pop
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
  Expected in: flat namespace

[Sat May 05 16:38:27 2012] [notice] child pid 26491 exit signal Trace/BPT trap (5)

আমি অ্যাক্টিভিটি মনিটরে এই পিডটি সন্ধান করার চেষ্টা করেছি কোনও লাভ হয়নি, এবং পৃষ্ঠাটি লোড করার চেষ্টা করার সময় এটি পরিবর্তন হয়। এছাড়াও, আমি কোথাও _mmc_queue_pop সম্পর্কে কিছুই খুঁজে পাচ্ছি না।

আমি ম্যাক ওএসএক্স সিংহ, পিএইচপি ভেরি 5.3.8, মেমক্যাশেড ভের 1.4.13, এবং মেমকেচে পিএইচপি প্লাগইন ভার্স 3.0.6 চালাচ্ছি।

কেউ কি জানেন যে আমি কীভাবে এটি ঠিক করতে পারি?

ধন্যবাদ!


1
-fgnu89-inlineইন CFLAGS/ দিয়ে মেমক্যাচ পুনর্নির্মাণ CXXFLAGSinlineনতুন নিয়মের অধীন কীওয়ার্ডটি হ'ল _mmc_queue_popসব ক্ষেত্রে ইনলাইন হওয়ার কারণ হয়, এতে memcache.soগতিযুক্তরূপে লিঙ্ক দেওয়ার কিছুই রাখে না।
ডেভিড শোয়ার্জ

আমি কীভাবে হোমব্রিউয়ের জন্য সিএফএলএগএস / সিএক্সএক্সএফএলএজিএস সম্পাদনা করব? আমাকে কি রুবি ফোরামলা ফাইলটিতে কিছু পরিবর্তন করতে হবে?
কোর্টডেমোন

উত্তর:


8

ডেভিড মন্তব্যে যেমন উল্লেখ করেছেন, মেমক্যাস প্লাগইন তৈরি করার সময়, নিজেই মেমক্যাচ করা হয়নি, আপনাকে configureএভাবে রান যোগ করতে হবে :

MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-fgnu89-inline' LDFLAGS='-fgnu89-inline' CXXFLAGS='-fgnu89-inline' ./configure

এটা আমার জন্য নিখুঁতভাবে কাজ করেছে।


2

কোন ম্যাচচ্যাচ.সো সত্যিকারের সাথে লিঙ্কযুক্ত তা নিশ্চিত করার জন্য আমি প্রথম পদক্ষেপ হিসাবে পরামর্শ দেব। লিনাক্সে আপনি ব্যবহার করবেন ldd, otool -Lওএসএক্সে এটি আইআইআরসি হওয়া উচিত । দেখে মনে হচ্ছে প্লাগইনটি সিস্টেমে একাধিক মেমক্যাস লাইব্রেরির মধ্যে একটি ভুলটিকে ধরে ফেলেছে বা এমন কোনও সংস্করণ যা বেমানান।


আমি এই ধরণের জিনিসগুলির মধ্যে সবচেয়ে শক্তিশালী নই। এটি করার জন্য টার্মিনালে আমাকে ঠিক কী করতে হবে?
কোর্টডেমোন

1
আমি কেবল দেখতে পেয়েছি যে অটুলটি উপলভ্য হওয়ার জন্য আপনার এক্সকোড সরঞ্জামগুলি ইনস্টল থাকতে পারে। কোন ক্ষেত্রে একটি ম্যানপেজ পাওয়া উচিত। যে কোনও উপায়ে, ডেভিড সম্ভবত ইতিমধ্যে সমস্যাটি কমাতে পেরেছে।
রেক্যান্ডবোনম্যান

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

1
"কনফিগার বিকল্পগুলি" এবং সিএফএলএজিএস কীভাবে সেট করবেন সে বিষয়ে হোমব্রাবির ডকুমেন্টেশন (যদি সেখান থেকে আপনার মেমক্যাচেটিও আসে তবে) পরীক্ষা করে দেখুন। আমি আপনাকে কেবল সিএফএলএগএসের সাথে ঝামেলা করার পরামর্শ দিচ্ছি যদি সেখানে কোনও "কনফিগার বিকল্প" না পাওয়া যায়। আমি হোমব্রিউয়ের সাথে কুকবুক পরামর্শ দেওয়ার জন্য খুব অপরিচিত এবং একটি "। / কনফিগার - ওপেনস & মেক অ্যান্ড মেক ইনস্টল" ইনস্টল চক্রটি বিভ্রান্তিকর হতে পারে বলে ধরে নিয়ে জেনেরিক পরামর্শ দিই। তবুও, একই চক্রের সাথে পরিচিতিটি হ'ল যে কোনও উত্স বিল্ড সিস্টেমের সাথে মেশানো অত্যন্ত সহায়ক।
রেক্যান্ডবোনম্যান

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

2

সংযোজন - এল ক্যাপিটান, php56, php56- মেমকেচে 3.0.8

ডেভিড শোয়ার্জ এবং কোর্টডেমনের উত্তরগুলি পড়ার পরেও আমি এখনও তা পাইনি, যতক্ষণ না আমি হোমব্রিউ সূত্রটি কীভাবে সম্পাদনা করব সে সম্পর্কে এসওতে এই উত্তরটি না পড়ে ।

নিম্নলিখিত সূত্রগুলিতে চালানো brew edit php56-memcacheএবং আটকানোর মাধ্যমে আমি সূত্রটিতে নিম্নলিখিতগুলি যুক্ত করেছি :

   .  20     safe_phpize
   .  21 
   +  22     ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.11'
   +  23     ENV['CFLAGS'] = '-fgnu89-inline'
   +  24     ENV['LDFLAGS'] = '-fgnu89-inline'
   +  25     ENV['CXXFLAGS'] = '-fgnu89-inline'
   +  26 
   .  27     system "./configure", "--prefix=#{prefix}",
   .  28                           phpconfig
   .  29     system "make"

ধন্যবাদ! এছাড়াও অন্য একটি উল্লেখ: github.com/Homebrew/homebrew-php/issues/2529
পেড্রো ক্যাসাডো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.