رفع مشکل Markdown در Open Atrium (خطای Compilation failed: POSIX collating elements are not supported)
هنگامی که آخرین نسخهی نرم افزار Open Atrium را نصب کردم (یعنی نسخهی 1.2) با تعداد زیادی خطای PHP مواجه شدم که در همهی صفحات نمایش داده میشد.
در صورتی که شما هم این نرم افزار را نصب کنید، ممکن است با این مشکل مواجه شوید و اندکی نگران شوید!
خطای PHP به قرار زیر است:
preg_replace_callback(): Compilation failed: POSIX collating elements are not supported at offset 157 in /.../profiles/openatrium/modules/contrib/markdown/markdown.php on line 1005.
خوشبختانه راه حل این مشکل را به زودی پیدا کردم.
این مشکل زمانی رخ می دهد که از نسخههای جدیدتر PHP مثل PHP 5.3 استفاده کنید. دلیل آن هم این است که فایل markdown.php دارای یک سری کد می باشد (تابع preg_match_all و ...) که این کد ها در نسخههای جدید PHP کار نمی کند و باید اصلاح شود.
که باز هم خوشبختانه راه حل را خیلی زود پیدا کردم!
Markdown یک کتابخانه است که در اصل به زبان Perl نوشته شده است. اما Michelf آن را به زبان PHP نیز توسعه داده است و آدرس سایت PHP Markdown این است.
این کتابخانهی Markdown در واقع یک روش ارائه میدهد که نوشته ها را به فرمت متن ساده بنویسیم و سپس آن ها را به HTML تبدیل میکند. یعنی به جای <b>سلام</b> می نویسیم *سلام* و Markdown ستاره ها را به تگ های HTML تبدیل می کند. در واقع می توان گفت که Markdown یک راه ساده تر برای نوشتن متن است بدون نیاز به ویراستار Wysiwyg یا BBcode ... .
PHP Markdown دارای یک نسخهی Extra نیز می باشد که امکانات بیشتری را دارا است.
Open Atrium از PHP Markdown Extra استفاده می کند. ولی نسخهی Markdown موجود در آن قدیمی است. و خطای فوق نیز به همین سبب است.
راه حل این مشکل این است که نسخهی جدید Markdown Extra را از آدرس آن دانلود کنید و سپس آن را با نسخهی موجود در Open Atrium جایگزین کنید.
فایلی که باید جایگزین شود در این آدرس است:
/profiles/openatrium/modules/contrib/markdown
نظرات شما
قسمت نظرات با استفاده از سرویس دیسکاس پیاده سازی شده است. متاسفانه این سرویس از داخل ایران قابل دسترس نیست. لطفا از آی پی خارجی استفاده کنید.