appwrite-php

Implements server-side PHP integrations with Appwrite SDKs for users, databases, storage, and functions.

1|1|Updated Jul 31, 2026
One-click install
npx skills add https://github.com/appwrite/agent --skill appwrite-php-appwrite
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: appwrite-php
Source: https://github.com/appwrite/agent/tree/main/.agents/skills/appwrite-php
Command: npx skills add https://github.com/appwrite/agent --skill appwrite-php-appwrite

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires appwrite/appwrite.

What problem does it solve? Building server-side PHP applications against Appwrite requires knowing the correct SDK classes, query syntax, permission model, and SSR authentication patterns, and mistakes like using deprecated classes or missing permissions cause silent failures. ## Core Features & Use Cases - SDK Operations Reference: Covers Users, TablesDB, Storage, Teams, and Functions services with correct method signatures, Query builders, and InputFile factories. - SSR Authentication Patterns: Provides admin/session client separation, email-password login, OAuth2 token exchange, and secure cookie handling for Laravel and Symfony apps. - Permissions & Error Handling: Documents the Permission/Role model, string column types, and AppwriteException fields to prevent common access-control mistakes. - Use Case: A developer building a Laravel backend can generate correct code to create rows in TablesDB, upload files with per-user permissions, and authenticate users via OAuth2 without reading the full SDK docs. ## Quick Start Use the appwrite-php skill to write a PHP script that creates a TablesDB row with read permissions for a specific user.

Frequently Asked Questions about appwrite-php

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use the Appwrite PHP SDK for server-side apps?▼

Install it with composer require appwrite/appwrite, then configure a Client with your endpoint, project ID, and API key. From there you instantiate services like Users, TablesDB, Storage, and Functions to perform operations.

How do I query rows in Appwrite TablesDB with PHP?▼

Use the Query helper methods such as Query::equal, Query::greaterThan, Query::orderDesc, and Query::limit, passing them to listRows. Cursor pagination via Query::cursorAfter is preferred for large datasets.

Should I use Databases or TablesDB in the Appwrite PHP SDK?▼

Use TablesDB for all new code, since the Databases class is deprecated. Only use Databases when maintaining an existing codebase that already relies on it or when explicitly required.

How do I handle Appwrite authentication in Laravel or Symfony SSR apps?▼

Use two clients: an admin client with an API key to create sessions, and a per-request session client that reads the a_session_<PROJECT_ID> cookie. Set the cookie with httpOnly, secure, and sameSite strict flags.

Why can't users access rows I created with the Appwrite PHP SDK?▼

Appwrite grants no access by default, so rows created without explicit permissions are inaccessible to everyone. Add Permission::read, update, or delete entries with Role targets like Role::user or Role::team when creating the resource.

How do I upload files to Appwrite Storage from PHP?▼

Use Storage::createFile with a bucket ID, a unique file ID, and an InputFile built via InputFile::withPath for filesystem files or InputFile::withData for string content. Attach permissions in the same call if per-file access control is needed.