Skip to content

Fix PHP SDK fatal and validate template builds - #358

Merged
ChiragAgg5k merged 2 commits into
mainfrom
fix/php-sdk-runtime-builds
Aug 19, 2026
Merged

Fix PHP SDK fatal and validate template builds#358
ChiragAgg5k merged 2 commits into
mainfrom
fix/php-sdk-runtime-builds

Conversation

@ChiragAgg5k

Copy link
Copy Markdown
Member

What does this PR do?

  • updates the PHP starter from appwrite/appwrite 17.4.1 to 18.0.1 and refreshes its lockfile
  • adds build checks for every template runtime on pull requests and a weekly schedule
  • explicitly loads classes imported by PHP templates so dependency parse-time fatals are caught before deployment
  • fixes missing path separators in the PHP email contact form entrypoint discovered by the runtime check

Why?

PHP SDK 17.4.1 contains method aliases that differ only by case. PHP method names are case-insensitive, so loading Appwrite\\Services\\Users crashes with a redeclaration fatal. Composer installation and php -l do not load imported classes, so they do not detect this failure.

Validation

  • installed, linted, and runtime-loaded all PHP templates
  • confirmed the runtime check fails against SDK 17.4.1 with the expected Users::updateMFA() redeclaration fatal
  • confirmed the PHP starter passes with SDK 18.0.1
  • ran actionlint .github/workflows/build.yml
  • ran php -l .github/scripts/load-composer-classes.php
  • ran git diff --check

@greptile-apps

greptile-apps Bot commented Aug 19, 2026

Copy link
Copy Markdown

Greptile Summary

The PR upgrades the PHP starter SDK and adds CI validation intended to catch dependency-loading and template build failures before deployment.

  • Adds build checks for the repository’s supported template runtimes.
  • Loads imported PHP symbols and entrypoints during validation.
  • Corrects the email contact form’s local include paths.
  • Refreshes PHP and Rust dependency lockfiles.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
.github/scripts/load-composer-classes.php Adds runtime loading of imported Composer symbols and now correctly expands grouped and comma-separated imports.
.github/workflows/build.yml Adds scheduled and pull-request build validation across template runtimes.
php/email-contact-form/src/index.php Corrects missing separators in local utility and CORS include paths.
php/starter/composer.json Upgrades the Appwrite PHP SDK constraint to a version without the reported class-loading fatal.
php/starter/composer.lock Locks the PHP starter to Appwrite SDK 18.0.1 consistently with the manifest.
rust/starter/Cargo.lock Refreshes transitive h2 and windows-sys resolution without introducing a review-eligible failure.

Reviews (2): Last reviewed commit: "fix: address build and import validation..." | Re-trigger Greptile

Comment thread .github/scripts/load-composer-classes.php
@ChiragAgg5k
ChiragAgg5k merged commit dcb0098 into main Aug 19, 2026
28 checks passed
@ChiragAgg5k
ChiragAgg5k deleted the fix/php-sdk-runtime-builds branch August 19, 2026 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants