https://github.com/awslabs/aws-crt-php

https://github.com/awslabs/aws-crt-php

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

hacktoberfest

Keywords from Contributors

aws-sdk cloud-management
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: awslabs
  • License: apache-2.0
  • Language: PHP
  • Default Branch: main
  • Homepage:
  • Size: 416 KB
Statistics
  • Stars: 389
  • Watchers: 17
  • Forks: 13
  • Open Issues: 1
  • Releases: 11
Topics
hacktoberfest
Created almost 6 years ago · Last pushed 12 months ago
Metadata Files
Readme Contributing License Code of conduct

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 build tools on Windows
  • Tests require Composer

Installing with Composer and PECL

The package has two different package published to composer and PECL.

On UNIX, you can get the package from package manager or build from source:

pecl install awscrt composer require aws/aws-crt-php

On Windows, you need to build from source as instruction written below for the native extension php_awscrt.dll . And, follow https://www.php.net/manual/en/install.pecl.windows.php#install.pecl.windows.loading to load extension. After that:

composer require aws/aws-crt-php

Building from Github source

sh $ git clone --recursive https://github.com/awslabs/aws-crt-php.git $ cd aws-crt-php $ phpize $ ./configure $ make $ ./dev-scripts/run_tests.sh

Building on Windows

Requirements for Windows

  • Ensure you have the windows PHP SDK (this example assumes installation of the SDK to C:\php-sdk and that you've checked out the PHP source to php-src within the build directory) and it works well on your machine.

  • Ensure you have "Development package (SDK to develop PHP extensions)" and PHP available from your system path. You can download them from https://windows.php.net/download/. You can check if they are available by running phpize -v and php -v

Instructions

From Command Prompt (not powershell). The instruction is based on Visual Studio 2019 on 64bit Windows.

```bat

git clone --recursive https://github.com/awslabs/aws-crt-php.git git clone https://github.com/microsoft/php-sdk-binary-tools.git C:\php-sdk C:\php-sdk\phpsdk-vs16-x64.bat

C:\php-sdk\ $ cd

\ $ phpize

--with-prefix only required when your php runtime in system path is different than the runtime you wish to use.

\ $ configure --enable-awscrt=shared --with-prefix=

\ $ nmake

\ $ nmake generate-php-ini

check .\php-win.ini, it now has the full path to php_awscrt.dll that you can manually load to your php runtime, or you can run the following command to run tests and load the required native extension for awscrt.

\ $ .\dev-scripts\run_tests.bat ```

Note: for VS2017, Cmake will default to build for Win32, refer to here. If you are building for x64 php, you can set environment variable as follow to let cmake pick x64 compiler.

bat set CMAKE_GENERATOR=Visual Studio 15 2017 set CMAKE_GENERATOR_PLATFORM=x64

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

```shell

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 CMAKEBUILDTYPE=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.

Known OpenSSL related issue (Unix only)

  • When your php loads a different version of openssl than your system openssl version, awscrt may fail to load or weirdly crash. You can find the openssl version php linked via: php -i | grep 'OpenSSL', and awscrt linked from the build log, which will be Found OpenSSL: * (found version *)

The easiest workaround to those issue is to build from source and get aws-lc for awscrt to depend on instead. TO do that, same instructions as here, but use USE_OPENSSL=OFF make instead of make

License

This project is licensed under the Apache-2.0 License.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Release event: 1
  • Watch event: 53
  • Delete event: 4
  • Issue comment event: 2
  • Push event: 18
  • Pull request review comment event: 3
  • Pull request review event: 9
  • Pull request event: 11
  • Create event: 7
Last Year
  • Release event: 1
  • Watch event: 53
  • Delete event: 4
  • Issue comment event: 2
  • Push event: 18
  • Pull request review comment event: 3
  • Pull request review event: 9
  • Pull request event: 11
  • Create event: 7

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 71
  • Total Committers: 15
  • Avg Commits per committer: 4.733
  • Development Distribution Score (DDS): 0.479
Past Year
  • Commits: 5
  • Committers: 4
  • Avg Commits per committer: 1.25
  • Development Distribution Score (DDS): 0.6
Top Committers
Name Email Commits
Justin Boswell b****j@a****m 37
Dengke Tang 8****5@q****m 11
Waqar Ahmed Khan w****7@g****m 5
Michael Graeb g****m@a****m 4
Joseph Klix j****l@a****m 3
SamRemis s****4@g****m 2
ilevyor 8****r 1
Ying-Shan Lin y****r@g****m 1
Yasmine Talby 1****y 1
Remi Collet r****i@r****t 1
Michael Diodone 8****o 1
KaibaLopez v****z@g****m 1
Damian Vicino s****r 1
Ashish Dhingra 6****a 1
Amazon GitHub Automation 5****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 23
  • Total pull requests: 97
  • Average time to close issues: 7 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 16
  • Total pull request authors: 20
  • Average comments per issue: 3.39
  • Average comments per pull request: 0.3
  • Merged pull requests: 71
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Issue authors: 0
  • Pull request authors: 5
  • Average comments per issue: 0
  • Average comments per pull request: 0.29
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • remicollet (8)
  • johnnybenson (1)
  • kapilpaul (1)
  • sapphirecat (1)
  • asgrim (1)
  • andrecarlucci (1)
  • kiralyta (1)
  • ricsands2801 (1)
  • cmb69 (1)
  • bytestream (1)
  • juggernautsei (1)
  • f-skold (1)
  • gboddin (1)
  • tim-hitchins-ekkosense (1)
  • Synida (1)
Pull Request Authors
  • justinboswell (36)
  • TingDaoK (17)
  • waahm7 (14)
  • graebm (7)
  • ilevyor (5)
  • jmklix (4)
  • remicollet (3)
  • SamRemis (2)
  • ashishdhingra (2)
  • sdavtaker (2)
  • khushail (1)
  • yslinear (1)
  • michaeldyrynda (1)
  • KaibaLopez (1)
  • mdio (1)
Top Labels
Issue Labels
needs-triage (14) bug (12) guidance (6) closing-soon (3) pending-release (2) p2 (2) response-requested (2) closed-for-staleness (2) investigating (1) p3 (1)
Pull Request Labels
pr/needs-review (1)

Packages

  • Total packages: 1
  • Total downloads:
    • packagist 250,209,555 total
  • Total docker downloads: 1,394,654,419
  • Total dependent packages: 4
  • Total dependent repositories: 4,154
  • Total versions: 14
  • Total maintainers: 3
packagist.org: aws/aws-crt-php

AWS Common Runtime for PHP

  • Versions: 14
  • Dependent Packages: 4
  • Dependent Repositories: 4,154
  • Downloads: 250,209,555 Total
  • Docker Downloads: 1,394,654,419
Rankings
Docker downloads count: 0.0%
Downloads: 0.0%
Dependent repos count: 0.1%
Stargazers count: 0.9%
Average: 1.3%
Forks count: 3.2%
Dependent packages count: 3.7%
Funding
Last synced: 10 months ago

Dependencies

composer.json packagist
  • phpunit/phpunit ^4.8.35|^5.6.3 development
  • php >=5.5