Download the PHP package oracle/oci-php-sdk without Composer

On this page you can find all versions of the php package oracle/oci-php-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package oci-php-sdk

Oracle Cloud Infrastructure SDK for PHP

About

oci-php-sdk provides an SDK for PHP that you can use to manage your Oracle Cloud Infrastructure resources.

The project is open source and maintained by Oracle Corp. The home page for the project is here.

Requirements

Installation

Consuming the oci-php-sdk from a zip file

  1. Create a directory, e.g. /path/to/artifacts
  2. Place the internal OCI PHP SDK zip file, e.g. oci-php-sdk-0.0.1-2021-11-02T13-44-29.zip, in that directory.
    • If you have multiple versions of the zip file, make sure the directory only contains the version you want to use.
  3. Add a dependency on oracle/oci-php-sdk version 0.0.1 to your composer.json file
  4. Add a repository of type artifact to your composer.json file, where url is set to the directory with the zip file, e.g. /path/to/artifacts

Here is a complete example of such a composer.json file:

  1. Clear your Composer cache, vendor directory, and composer.lock file:

    • This helps make sure that vendor contains the latest contents from the zip file.
  2. Run composer install
  3. In your source file, e.g. src/test.php, require the vendor/autoload.php file, and then use the OCI PHP SDK classes you need. For example:

  4. Run the test: php src/test.php

Consuming the oci-php-sdk from a Git repository

  1. Add a dependency on oracle/oci-php-sdk version dev-master to your composer.json file
  2. Add a repository of type git to your composer.json file, where url is set to the same URL you use to git clone, e.g. https://github.com/organization/my-repo.git
    • Note: https://github.com/organization/my-repo.git is not an actual Git repository with the OCI PHP SDK.

Here is a complete example of such a composer.json file:

  1. Clear your Composer cache, vendor directory, and composer.lock file:

    • This helps make sure that vendor contains the latest contents from the Git master branch
  2. Run composer install
  3. In your source file, e.g. src/test.php, require the vendor/autoload.php file, and then use the OCI PHP SDK classes you need. For example:

  4. Run the test: php src/test.php

Examples

Examples can be found here.

You may run any example by invoking the php command with the example you want to run, for example: php tests/Oracle/Oci/Examples/ObjectStorageExample.php

Documentation

Installing PHP 8.0 on Oracle Linux 8

The following has worked for installing PHP 8.0 on Oracle Linux 8:

sudo dnf module list php
sudo dnf install @php:8.0 -y

Installing Composer

Install Composer as package manager for PHP:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Running the Instance Principals Example

The tests/Oracle/Oci/Examples/CachingInstancePrincipalsExample.php examples must be run on an OCI instance. To set it up, you can follow these steps:

  1. Create a dynamic group. You can use a matching rule like this to get all instances in a certain compartment:

  2. Start an OCI instance. Make sure that it is matched by the dynamic group, e.g. by creating it in the correct compartment.
  3. Create a policy for the dynamic group that grants the desired permissions. For example:

  4. Install PHP 8.0 on Oracle Linux. See above.
  5. Copy the OCI PHP SDK and this example to the OCI instance (using scp or rsync).
  6. Run Composer to download the required packages:

  7. SSH into the OCI instance.
  8. Run the example:

  9. Run the Instance Principal-specific unit tests:

Changes

See CHANGELOG.

Contributing

This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide

Security

Please consult the security guide for our responsible security vulnerability disclosure process

Known Issues

You can find information on any known issues with the SDK here.

Thread Safety

The OCI PHP SDK is based on the GuzzleHttp\Client; therefore, it has the same threading behavior as GuzzleHttp\Client.

There does not appear to be good documentation on the thread safety of GuzzleHttp\Client, but there are hints that it is NOT thread-safe:

  1. "Are you using threads (like with pthreads)? Guzzle is not thread safe and will not work in a multithreaded application" 1
  2. "I would guess that the underlying cURL handles, and PHP's integration with cURL, have an issue being shared across multiple threads. You may have to create unique clients for each thread." 2

These issues are not unique to the OCI PHP SDK, and the solution seems to simply be to create a separate client per thread.

License

Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.

See LICENSE for more details.


All versions of oci-php-sdk with dependencies

PHP Build Version
Package Version
Requires guzzlehttp/guzzle Version ^6.5
php Version >=5.6
cache/adapter-common Version ^1.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package oracle/oci-php-sdk contains the following files

Loading the files please wait ....