This application connects to your YugabyteDB instance via the
php-pgsql driver for PostgreSQL and performs basic SQL operations. The instructions below are provided for YugabyteDB Aeon deployments.
If you use a different type of deployment, then update the sample-app.php
file with proper connection parameters.
- PHP runtime - the sample project was created with PHP 8.1 but should work with earlier and later versions.
- Command line tool or your favorite IDE, such as Visual Studio Code.
- Start YugabyteDB Aeon instance. You can use the free tier at no cost.
- Add an IP address of your machine/laptop to the IP allow list
Clone the repository and change dirs into it:
git clone https://github.com/YugabyteDB-Samples/yugabyte-simple-php-app.git && cd yugabyte-simple-php-app
Set the following connection parameters in the sample-app.php
file:
HOST
- the hostname of your YugabyteDB Managed instance.USER
- the username for your database.PASSWORD
- the password for your database.SSL_MODE
- an SSL mode. Make sure it's set toverify-full
for YugabyteDB Aeon.SSL_ROOT_CERT
- a full path to your CA root cert (for example,/Users/dmagda/certificates/root.crt
).
Note, you can easily find all the settings on the YugabyteDB Aeon dashboard:
-
Install the php-pgsql driver:
- Homebrew users of version PHP 7.2+: the driver is installed automatically with the
brew install php
command. - Ubuntu users can install with the
sudo apt-get install php-pgsql
command. - CentOS users can install with the
sudo yum install php-pgsql
command. - Others need to follow the php-pgsql installation guide.
- Homebrew users of version PHP 7.2+: the driver is installed automatically with the
-
Run the application:
php sample-app.php
Upon successful execution, you will see output similar to the following:
>>>> Connecting to YugabyteDB!
>>>> Successfully connected to YugabyteDB!
>>>> Successfully created table DemoAccount.
>>>> Selecting accounts:
name=Jessica, age=28, country=USA, balance=10000
name=John, age=28, country=Canada, balance=9000
>>>> Transferred 800 between accounts
>>>> Selecting accounts:
name=Jessica, age=28, country=USA, balance=9200
name=John, age=28, country=Canada, balance=9800
Congrats! You've successfully executed a simple PHP app that works with YugabyteDB Aeon.
Now, explore the source code of sample-app.php
:
connect
function - establishes a connection with your cloud instance via the php-pgsql driver.create_database
function - creates a table and populates it with sample data.select_accounts
function - queries the data with SQLSELECT
statements.transfer_money_between_accounts
function - updates records consistently with distributed transactions.
Having issues running this application or want to learn more from Yugabyte experts?
Join our Slack channel,
or raise a question on StackOverflow and tag the question with yugabytedb
!