Rapport-Laravel/vendor/aws/aws-crt-php
Ravi Gulhane 070be631f6 Laravel 13 May 2026-05-13 16:32:55 +05:30
..
.github Laravel 13 May 2026-05-13 16:32:55 +05:30
ext Laravel 13 May 2026-05-13 16:32:55 +05:30
src Laravel 13 May 2026-05-13 16:32:55 +05:30
tests Laravel 13 May 2026-05-13 16:32:55 +05:30
.clang-format Laravel 13 May 2026-05-13 16:32:55 +05:30
.clang-format-ignore Laravel 13 May 2026-05-13 16:32:55 +05:30
.gitignore Laravel 13 May 2026-05-13 16:32:55 +05:30
.gitmodules Laravel 13 May 2026-05-13 16:32:55 +05:30
CODE_OF_CONDUCT.md Laravel 13 May 2026-05-13 16:32:55 +05:30
CONTRIBUTING.md Laravel 13 May 2026-05-13 16:32:55 +05:30
LICENSE Laravel 13 May 2026-05-13 16:32:55 +05:30
Makefile.frag Laravel 13 May 2026-05-13 16:32:55 +05:30
Makefile.frag.w32 Laravel 13 May 2026-05-13 16:32:55 +05:30
NOTICE Laravel 13 May 2026-05-13 16:32:55 +05:30
README.md Laravel 13 May 2026-05-13 16:32:55 +05:30
builder.json Laravel 13 May 2026-05-13 16:32:55 +05:30
composer.json Laravel 13 May 2026-05-13 16:32:55 +05:30
config.m4 Laravel 13 May 2026-05-13 16:32:55 +05:30
config.w32 Laravel 13 May 2026-05-13 16:32:55 +05:30
format-check.sh Laravel 13 May 2026-05-13 16:32:55 +05:30
gen_api.php Laravel 13 May 2026-05-13 16:32:55 +05:30
gen_stub.php Laravel 13 May 2026-05-13 16:32:55 +05:30
package.xml-template_post Laravel 13 May 2026-05-13 16:32:55 +05:30
package.xml-template_pre Laravel 13 May 2026-05-13 16:32:55 +05:30
php-win.ini Laravel 13 May 2026-05-13 16:32:55 +05:30
php.ini Laravel 13 May 2026-05-13 16:32:55 +05:30
prepare_package_xml.sh Laravel 13 May 2026-05-13 16:32:55 +05:30
prepare_release.sh Laravel 13 May 2026-05-13 16:32:55 +05:30
run_tests Laravel 13 May 2026-05-13 16:32:55 +05:30
run_tests.bat Laravel 13 May 2026-05-13 16:32:55 +05:30

README.md

AWS Common Runtime PHP bindings

Requirements

  • PHP 5.5+ on UNIX platforms, 7.2+ on Windows
  • CMake 3.x
  • GCC 4.4+, clang 3.8+ on UNIX, Visual Studio 2017 build tools on Windows
  • Tests require Composer

Building on UNIX

$ git clone --recursive https://github.com/awslabs/aws-crt-php.git
$ cd aws-crt-php
$ phpize
$ ./configure
$ make && make test

Building on Windows

""" From VS2017 Command Prompt
> C:\php-sdk\phpsdk-vc15-x64.bat

C:\php-sdk\
$ phpsdk_buildtree php-<version>

C:\php-sdk\php-<version>\vc15\x64\
$ git clone https://github.com/php/php-src.git && cd php-src

""" This only has to be done once, the first time you set this all up
C:\php-sdk\php-<version>\vc15\x64\php-src
$ phpsdk_deps --update --branch <php-major.minor-version>

C:\php-sdk\php-<version>\vc15\x64\php-src
$ git clone --recursive https://github.com/awslabs/aws-crt-php.git ..\pecl\awscrt

C:\php-sdk\php-<version>\vc15\x64\php-src
$ buildconf

C:\php-sdk\php-<version>\vc15\x64\php-src
$ configure --enable-cli --with-openssl --enable-awscrt=shared

C:\php-sdk\php-<version>\vc15\x64\php-src
$ nmake

C:\php-sdk\php-<version>\vc15\x64\php-src
$ nmake test-awscrt

Debugging

Using PHPBrew to build/manage multiple versions of PHP is helpful.

Note: You must use a debug build of PHP to debug native extensions. See the PHP Internals Book for more info

# PHP 8 example
$ phpbrew install --stdout -j 8 8.0 +default -- CFLAGS=-Wno-error --disable-cgi --enable-debug
# PHP 5.5 example
$ phpbrew install --stdout -j 8 5.5 +default -openssl -mbstring -- CFLAGS="-w -Wno-error" --enable-debug --with-zlib=/usr/local/opt/zlib
$ phpbrew switch php-8.0.6 # or whatever version is current, it'll be at the end of the build output
$ phpize
$ ./configure
$ make CMAKE_BUILD_TYPE=Debug

Ensure that the php you launch from your debugger is the result of which php, not just the system default php.

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.