خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SHOW FULL COLUMNS FROM `wp_options`

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format', 'hashtags') AND tr.object_id IN (1327) ORDER BY t.name ASC

با ++C توسعه دهنده PHP شوید (قسمت دوم)
  • شاخه: دسته‌بندی نشده    ::    بازدید: ۹۷۹
  • ۴

با ++C توسعه دهنده PHP شوید (قسمت دوم)

در مقاله قبل با چراییِ استفاده از ++C برای نوشتن اکستنشن PHP آشنا شدید. حتما کتابخانه PHP-CPP را در لینوکس یا MacOS خود نصب کردید، اگر تا حالا انجام ندادید به مقاله اول مراجعه کنید.

بعد از نصب PHP-CPP برای شروع نوشتن اکستنشن، باید با ساختار فایل‌های ضروری آشنا بشویم. در پوشه پروژه سه فایل با توضیحات زیر خواهیم داشت:

  1. فایل main.cpp که حاوی توابع اصلی اکستنشن ماست.
  2. فایل Makefile حاوی اطلاعاتی برای کامپایلر.
  3. فایل کانفیگ ini

در فایل Makefile اطلاعات مختلفی وجود دارد که ما فقط چند پارامتر را عوض می‌کنیم:

نام extension را به نام مورد نظر خود تغییر می‌دهیم.

مسیر قرارگیری فایل های کانفیگ PHP در سیستم خود را بیابید و در پارامتر زیر جایگزاری کنید.

 توضیح: در لینوکس توزیع دبیان ویزی (debian wheezy) این آدرس به شکل فوق بود.

فایل کانفیگ ini

این فایل محتوای یک خطی دارد. این خط نام اکستنشن ما را به فایل کانفیگ PHP معرفی خواهد کرد.

خب حالا می رویم سرِ اصل مطلب 🙂

فایل main.cpp حاوی یک تابع بنام ()get_module است. این تابع پس از بارگزاری هر کتابخانه در PHP فراخوانی می‌شود. کار آن بازگرداندن آدرسی از رم می‌باشد که اطلاعات مورد نظر درباره اکستنشن در آن آدرس بارگزاری شده است.

همانطور که در بالا مشاهده میکنید، ما یک تابع تعریف کردیم و در تابع ()get_module آن را به اکستنشن خود افزودیم.

حالا در ترمینال به پوشه حاوی سه فایل فوق می رویم و دستور زیر را اجرا می کنیم:

خروجی دستور فوق باید مشابه توضیحات زیر باشد:

حالا باید اکستنشن خود را به PHP معرفی کنیم. اگر قبلا اکستنشنی نصب کرده باشید این قسمت برای شما تکراری است:

حال وب سرور خود را ریست کنید. سپس یک فایل با محتوای زیر بسازید و اجرا کنید:

من هایو هستم.

موفق باشید…

 

منابع: + +

علی ذوقی

از سال ۸۷ بطور تخصصی برنامه نویس PHP هستم. اوایل با PEAR کار می کردم ولی از سال ۹۱ تاکنون بطور حرفه ای با Yii کار می کنم. از دروپال هم برای پروژه های بزرگ استفاده می کنم. به مباحث فنی سرور و شبکه علاقه خاصی دارم ...

همچنین ممکن است دوست داشته باشید ...

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (2408) ORDER BY t.name ASC

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_tag') AND tr.object_id IN (2408) ORDER BY t.name ASC

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('hashtags') AND tr.object_id IN (2408) ORDER BY t.name ASC

class="post-2408 post type-post status-publish format-standard has-post-thumbnail hentry">
۲۷
  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_format') AND tr.object_id IN (1443) ORDER BY t.name ASC

  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (1443) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_tag') AND tr.object_id IN (1443) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('hashtags') AND tr.object_id IN (1443) ORDER BY t.name ASC

    class="post-1443 post type-post status-publish format-standard has-post-thumbnail hentry">
    ۰
  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_format') AND tr.object_id IN (1713) ORDER BY t.name ASC

  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (1713) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_tag') AND tr.object_id IN (1713) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('hashtags') AND tr.object_id IN (1713) ORDER BY t.name ASC

    class="post-1713 post type-post status-publish format-standard has-post-thumbnail hentry">
    ۹

    ۴ واکنش

    1. بهنام وثوق گفت:

      با تشکر از مهندس ذوقی
      مطالبتان فوق العاده کامل و کاربردی است

    2. سپهر گفت:

      بسیار عالی بود . لطفا در مورد فریمورک Yii هم مطلب قرار بدید.

      • علی ذوقی گفت:

        خداروشکر
        مطلبی درباره قابلیتهای Yii2 در تاریخ ۱۱ بهمن ماه در هایو منتشر شده.
        لینک مطلب
        http://hive.ir/Aj7Wr
        ان شاءالله سعی میشه با صلاح دید سردبیر، مقاله های بیشتری در زمینه فریمورک Yii نوشته و منتشر بشه.

    پاسخ دهید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *