❗ Issue Description
Posts are successfully published, but in the Calendar view they are still marked as “Unpublished.”
🔍 Root Cause
This usually happens when required PHP extensions (MySQL / PDO / Intl) are missing or disabled, so the system cannot correctly update or sync the post status in the database.
✅ Required PHP Configuration
🔹 Step 1: PHP Version
-
Use PHP 8.3 (as shown in your screenshot)
-
After selecting PHP 8.3, enable the extensions below
🔹 Step 2: Enable Required PHP Extensions
✅ Database / MySQL Extensions (CRITICAL)
You must enable ALL of the following:
-
✅
mysqli -
✅
mysqlnd -
✅
nd_mysqli -
✅
nd_pdo_mysql -
✅
pdo -
✅
pdo_mysql
⚠️ If any one of these is missing, the system will fail to update the publish status, and the Calendar will show incorrect results.
✅ Internationalization
-
✅
intl
Used for:
-
Date & time handling
-
Timezone conversion
-
Calendar synchronization
✅ Recommended Core Extensions
These should also be enabled:
-
✅
json -
✅
mbstring -
✅
curl -
✅
openssl -
✅
fileinfo -
✅
zip -
✅
xml -
✅
tokenizer
🔄 Step 3: Restart PHP / Web Server
After enabling the extensions:
-
Restart PHP
-
Restart Apache / Nginx
-
If using aaPanel, restart the PHP service
🧪 Step 4: Verify
-
Publish a new post
-
Open the Calendar
-
The post status should now display as:
-
✅ Published
-
❌ No longer Unpublished
-
⚠️ Important Notes
-
Do NOT use
pdo_sqlitefor production -
Use MySQL / MariaDB only
-
Always re-check PHP extensions after server migration or PHP upgrade
✅ Conclusion
Once the correct PHP extensions are enabled (especially mysqlnd, nd_pdo_mysql, pdo_mysql, and intl), the Calendar will correctly sync and display the published status.