سؤال

لقد قمت بتثبيت ثنائيات SPHINX ومكتباتها وأحاول الآن تثبيت وحدة Pecl SPHINX.

نظامي يعمل بنظام التشغيل OS X 10.6 مع تثبيت MAMP 1.8.2. أحاول تثبيت SPHINX باستخدام الأمر التالي:

sudo pecl install sphinx

يخرج الأمر Pecl ما يلي:

running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

الإصدارات أعلاه لا تتطابق مع الإصدارات المذكورة عند القيام phpinfo(). وبعد يبدو أن Pecl تحاول أن تشكك ضد الإصدار المدمج من PHP.

إذا تجاهلت الأخطاء واستمر في تجميعها بنجاح ووضعها sphinx.so إملأ:

/usr/lib/php/extensions/no-debug-non-zts-20090626/sphinx.so

عندما يكون في الواقع يجب أن يكون:

/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/

لقد حاولت نسخ ملف SPHINX.SO إلى DIR DIRSTIONS MAMP ولكن عندما أعد تشغيل Apache PHP يعرض التحذير التالي:

PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/sphinx.so

أعتقد أن هذا لأن MAMP هو 32bit و PHP المدمج هو 64bit لذلك يشتمل Pecerl على 64 بت. قد أكون مخطئا تماما لكنني قرأت هذا عندما أكون في الموضوع.

هل يعرف أحد كيفية الحصول على تعيين Pecl إلى إصدار MAMP من PHP بدلا من الإصدار المدمج؟

هل كانت مفيدة؟

المحلول

إذا كان "صيحتم تثبيت إصدار PHP في شيء مثل /Applications/MAMP/bin/php5/, وشملت أدوات التطوير، يجب أن يكون لديك بعض الإصدار من pecl أمر للذهاب معها، بعض بجانب هذا الدليل.

إذا كان الأمر كذلك، تشغيل ذلك pecl الأمر الذي يتوافق مع "صيح"إصدار PHP يجب أن يساعد: سوف يعمل صيح نسخة من phpize, ، وسوف تسمح التمديد لتجميعها ضد (مرة أخرى) الصحيح نسخة من php.

عليك فقط أن تأمل في أن يتضمن MAMP تلك الأوامر - لا أستطيع التحقق، لأنني لا أملك ماك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top