平台默认会根据源码根目录是否有index.php
文件或者 composer.json
来识别为PHP项目.
# 安装依赖包,解决依赖关系
composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction
在此步骤中,你需要提供一个可用的PHP源码程序用来部署在Rainbond平台上,此应用程序至少需要满足如下条件:
composer.json
,用来管理PHP项目的依赖,也是Rainbond识别为PHP语言的必要条件,同时文件中必须定义项目需要的php版本,定义方式见下文。composer.lock
文件Procfile
,用来定义程序启动方式如果项目未定义Procfile文件,平台默认会生成默认Procfile来运行PHP。
# apache (默认)
web: vendor/bin/heroku-php-apache2
# nginx
web: vendor/bin/heroku-php-nginx
上述是默认Procfile,如果需要扩展,可以自定义Procfile。
默认源码根目录需要存在composer.json
和composer.lock
文件, 即使应用程序没有Composer依赖项,它也必须至少包含一个空({}
)。composer.lock
其中可以通过如下命令生成
composer update --ignore-platform-reqs
平台提供了不同的PHP版本,您可以使用PHP,HHVM(PHP代码编译器),或者同时使用二者,通过HHVM提高PHP性能。
可以通过composer.json文件来指定上述支持的PHP或HHVM版本
{
"require": {"php": "5.6.35"}
}
在Rainbond上自动启用以下内置扩展(此列表不包括默认情况下PHP启用的扩展,例如DOM,JSON,PCRE或PDO):
以下内置扩展已经构建为“共享”,可以通过composer.json(括号中给出的内部标识符名称)启用:
bcmath
)calendar
)exif
)ftp
)gd
; with PNG, JPEG and FreeType support)gmp
)gettext
)imap
; with SASL and Kerberos support)intl
)ldap
; with SASL support)mbstring
)mysql
; note that this extension is deprecated since PHP 5.5, please migrate to MySQLi or PDO)pcntl
)shmop
)soap
)sqlite3
)pdo_sqlite
)xmlrpc
)xsl
)可以通过composer.json启用以下第三方扩展(括号中给出的内部标识符名称):
apcu
; provides an apc extension for compatibility with legacy software)blackfire
)cassandra
)ev
)event
)imagick
)memcached
; built against a version of libmemcached with SASL support)mongo
)mongodb
)newrelic
; will automatically be enabled when the New Relic Add-On is detected during a build)oauth
)phalcon
)pq
)rdkafka
)redis
)在Rainbond上自动启用以下内置扩展(此列表不包括默认情况下PHP启用的扩展,例如DOM,JSON,PCRE或PDO):
以下内置扩展已经构建为“共享”,可以通过composer.json(括号中给出的内部标识符名称)启用:
bcmath
)calendar
)exif
)ftp
)gd
; with PNG, JPEG and FreeType support)gmp
)gettext
)imap
; with SASL and Kerberos support)intl
)ldap
; with SASL support)mbstring
)mcrypt
)pcntl
)shmop
)soap
)sqlite3
)pdo_sqlite
)xmlrpc
)xsl
)可以通过composer.json启用以下第三方扩展(括号中给出的内部标识符名称):
apcu
; provides an apc extension for compatibility with legacy software)blackfire
)cassandra
)ev
)event
)imagick
)memcached
; built against a version of libmemcached with SASL support)mongodb
)newrelic
; will automatically be enabled when the New Relic Add-On is detected during a build)oauth
)phalcon
)pq
)rdkafka
)redis
)在Rainbond上自动启用以下内置扩展(此列表不包括默认情况下PHP启用的扩展,例如DOM,JSON,PCRE或PDO):
以下内置扩展已经构建为“共享”,可以通过composer.json(括号中给出的内部标识符名称)启用:
bcmath
)calendar
)exif
)ftp
)gd
; with PNG, JPEG and FreeType support)gmp
)gettext
)imap
; with SASL and Kerberos support)intl
)ldap
; with SASL support)mbstring
)mcrypt
)pcntl
)shmop
)soap
)sqlite3
)pdo_sqlite
)xmlrpc
)xsl
)可以通过composer.json启用以下第三方扩展(括号中给出的内部标识符名称):
apcu
; provides an apc extension for compatibility with legacy software)blackfire
)cassandra
)ev
)event
)imagick
)memcached
; built against a version of libmemcached with SASL support)mongodb
)newrelic
; will automatically be enabled when the New Relic Add-On is detected during a build)oauth
)phalcon
)pq
)rdkafka
)redis
)示例https://github.com/goodrain/php-demo