多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 要求 Phalcon需要运行PHP。其松耦合设计允许开发人员安装Phalcon并使用其功能而无需额外扩展。某些组件与其他扩展有依赖关系。例如,使用数据库连接将需要`php_pdo` 扩展。如果您的RDBMS是MySql / MariaDb或Aurora数据库,您还需要 `php_mysqlnd` 扩展。同样,使用带有Phalcon的PostgreSql数据库需要 `php_pgsql` 扩展。 ## 硬件 Phalcon旨在尽可能少地使用资源,同时提供高性能。虽然我们已经在各种低端环境中测试了Phalcon(例如0.25GB RAM,0.5 CPU),但您选择的硬件将取决于您的应用需求。 我们的网站和博客(以及其他网站)托管在具有512MB RAM和1核CPU的Amazon VM上。 ## 软件 * PHP >= 5.5 >[danger] 您应该始终尝试使用最新版本的Phalcon和PHP同时解决bug,安全性增强和性能。PHP 5.5将在不久的将来被弃用,而Phalcon 4将仅支持PHP 7。 Phalcon需要以下扩展才能运行(最低): * `curl` * `gettext` * `gd2` (to use the `Phalcon\Image\Adapter\Gd` class) * `libpcre3-dev` (Debian/Ubuntu), `pcre-devel` (CentOS), `pcre` (macOS) * `json` * `mbstring` * `pdo_*` * `fileinfo` * `openssl` ### 可选,具体取决于您的应用程序的需求 * [PDO](http://php.net/manual/en/book.pdo.php) 扩展以及相关的RDBMS特定扩展(即[MySQL](http://php.net/manual/en/ref.pdo-mysql.php), [PostgreSql](http://php.net/manual/en/ref.pdo-pgsql.php) 等) * [OpenSSL](http://php.net/manual/en/book.openssl.php) 扩展 * [Mbstring](http://php.net/manual/en/book.mbstring.php) 扩展 * [Memcache](http://php.net/manual/en/book.memcache.php), [Memcached](http://php.net/manual/en/book.memcached.php) 或其他相关的缓存适配器,具体取决于您对缓存的使用情况 # 安装 由于Phalcon被编译为PHP扩展,因此其安装与任何其他传统PHP框架有些不同。Phalcon需要作为模块安装和加载到Web服务器上。 ## Linux 要在Linux上安装Phalcon,您需要在您的发行版中添加我们的存储库,然后进行安装。 ### 基于DEB的发行版(Debian,Ubuntu等) #### 存储库安装 将存储库添加到您的分发中: ##### 稳定版 ```bash curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash ``` 或 ##### 尝鲜版 ```bash curl -s https://packagecloud.io/install/repositories/phalcon/nightly/script.deb.sh | sudo bash ``` >[warning] 这只需要执行一次,除非您的发行版更改或您想要从稳定版本切换到尝鲜版本。 #### Phalcon安装 要安装Phalcon,您需要在终端中发出以下命令: ##### PHP 5.x ```bash sudo apt-get update sudo apt-get install php5-phalcon ``` ##### PHP 7 ```bash sudo apt-get update sudo apt-get install php7.0-phalcon ``` #### 其他源 #### Ondřej Surý 如果您不想在[packagecloud.io](https://packagecloud.io/phalcon)上使用我们的存储库,您可以随时使用[Ondřej Surý](https://launchpad.net/~ondrej/+archive/ubuntu/php/)提供的存储库。 回购存储库: ```php sudo add-apt-repository ppa:ondrej/php sudo apt-get update ``` 还有Phalcon: ```php sudo apt-get install php-phalcon ``` ### 基于RPM的发行版(CentOS,Fedora等) #### 存储库安装 将存储库添加到您的分发中: ##### 稳定版 ```bash curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.rpm.sh | sudo bash ``` or <a name='installation-linux-rpm-repository-nightly'></a> ##### 尝鲜版 ```bash curl -s https://packagecloud.io/install/repositories/phalcon/nightly/script.rpm.sh | sudo bash ``` >[warning] 这只需要执行一次,除非您的发行版更改或您想要从稳定版本切换到尝鲜版本。 #### Phalcon安装 要安装Phalcon,您需要在终端中发出以下命令: ##### PHP 5.x ```bash sudo yum update sudo yum install php56u-phalcon ``` ##### PHP 7 ```bash sudo yum update sudo yum install php70u-phalcon ``` #### 其他源 ##### Remi [Remi Collet](https://github.com/remicollet) Remi Collet为基于RPM的安装维护着一个出色的存储库。您可以在[此处](https://blog.remirepo.net/pages/Config-en)找到有关如何为其分发启用它的说明。 之后安装Phalcon就像以下一样简单: ```bash yum install php56-php-phalcon3 ``` 其他版本可用于特定于体系结构(x8/x64)以及特定于PHP(5.5,5.6,7.x) ## FreeBSD 一个端口可用于FreeBSD。要安装它,您需要发出以下命令: ### `pkg_add` ```bash pkg_add -r phalcon ``` ### Source ```bash export CFLAGS="-O2 --fvisibility=hidden" cd /usr/ports/www/phalcon make install clean ``` ## Gentoo Gentoo的可以在 [https://github.com/smoke/phalcon-gentoo-overlay](https://github.com/smoke/phalcon-gentoo-overlay) 找到安装Phalcon ## macOS 在macOS系统上,您可以使用`brew`,`macports`或源代码编译和安装扩展: ### 要求 * PHP 5.5.x/5.6.x/7.0.x/7.1.x * XCode ### Brew 由于[homebrew/php](https://brew.sh/2018/01/19/homebrew-1.5.0/) tap 已被弃用并且正在被删除,因此已经创建了Phalcon的自定义存储库。 PHP 5.5尚未移植到`homebrew/core`,因此不再存在。另一方面,PHP 7.2已被添加。 ```bash brew tap tigerstrikemedia/homebrew-phalconphp brew install php56-phalcon brew install php70-phalcon brew install php71-phalcon brew install php72-phalcon ``` ### MacPorts ```bash sudo port install php55-phalcon sudo port install php56-phalcon ``` 编辑你的php.ini文件,然后在最后追加: ```ini extension=php_phalcon.so ``` 重启您的web服务器。 ## Windows 要在Windows上使用Phalcon,您需要安装phalcon.dll。我们根据目标平台编译了几个DLL。DLL可以在我们的[下载](https://phalconphp.com/en/download/windows)页面中找到。 确定您的PHP安装和架构。如果您下载错误的DLL,Phalcon将无法正常工作。`phpinfo()`包含此信息。在下面的示例中,我们将需要DLL的NTS版本: ![phpinfo](https://d33wubrfki0l68.cloudfront.net/0f6f421dedc1bae3eef3790128d8ac4801ecc561/f6136/assets/images/content/phpinfo-api.png) 可用的DLL是: | 架构 | 版本 | 类型 | |:------------:|:-------:| --------------------- | | x64 | 7.x | Thread safe | | x64 | 7.x | Non Thread safe (NTS) | | x86 | 7.x | Thread safe | | x86 | 7.x | Non Thread safe (NTS) | | x64 | 5.6 | Thread safe | | x64 | 5.6 | Non Thread safe (NTS) | | x86 | 5.6 | Thread safe | | x86 | 5.6 | Non Thread safe (NTS) | | x64 | 5.5 | Thread safe | | x64 | 5.5 | Non Thread safe (NTS) | | x86 | 5.5 | Thread safe | | x86 | 5.5 | Non Thread safe (NTS) | 编辑你的php.ini文件,然后在最后追加: ```ini extension=php_phalcon.dll ``` 重启您的web服务器。 <a name='installation-sources'></a> ## 源码编译 从源代码编译类似于大多数环境(Linux/macOS)。 ### 要求 * PHP 5.5.x/5.6.x/7.0.x/7.1.x * GCC 编译 (Linux/Solaris/FreeBSD) 或 Xcode (macOS) * re2c >= 0.13 * libpcre-dev 您可以使用相关的包管理器在系统中安装这些包。流行的Linux发行版的说明如下: #### Ubuntu ```bash sudo apt-get install php5-dev libpcre3-dev gcc make ``` #### Suse ```bash sudo zypper install php5-devel gcc make ``` #### CentOS/Fedora/RHEL ```bash sudo yum install php-devel pcre-devel gcc make ``` ### 编译Phalcon 我们首先需要从Github存储库中克隆Phalcon ```bash git clone https://github.com/phalcon/cphalcon ``` 现在构建扩展 ```bash cd cphalcon/build sudo ./install ``` 您现在需要将`extension=phalcon.so`添加到PHP ini并重新启动Web服务器,以便加载扩展。 ```ini # Suse: Add a file called phalcon.ini in /etc/php5/conf.d/ with this content: extension=phalcon.so # CentOS/RedHat/Fedora: Add a file called phalcon.ini in /etc/php.d/ with this content: extension=phalcon.so # Ubuntu/Debian with apache2: Add a file called 30-phalcon.ini in /etc/php5/apache2/conf.d/ with this content: extension=phalcon.so # Ubuntu/Debian with php5-fpm: Add a file called 30-phalcon.ini in /etc/php5/fpm/conf.d/ with this content: extension=phalcon.so # Ubuntu/Debian with php5-cli: Add a file called 30-phalcon.ini in /etc/php5/cli/conf.d/ with this content: extension=phalcon.so ``` ## 高级编译 Phalcon会自动检测您的架构,但是,您可以强制编译特定的架构: ```bash cd cphalcon/build # One of the following: sudo ./install --arch 32bits sudo ./install --arch 64bits sudo ./install --arch safe ``` 如果自动安装程序失败,您可以手动构建扩展: ```bash git clone https://github.com/phalcon/cphalcon # cd cphalcon/build/php5/32bits cd cphalcon/build/php5/64bits # NOTE: for PHP 7 you have to use # cd cphalcon/build/php7/32bits # or # cd cphalcon/build/php7/64bits make clean phpize --clean export CFLAGS="-O2 --fvisibility=hidden" ./configure --enable-phalcon make make install ``` 如果你有特定的PHP版本运行: ```bash git clone https://github.com/phalcon/cphalcon # cd cphalcon/build/php5/32bits cd cphalcon/build/php5/64bits # NOTE: for PHP 7 you have to use # cd cphalcon/build/php7/32bits # or # cd cphalcon/build/php7/64bits make clean /opt/php-5.6.15/bin/phpize --clean export CFLAGS="-O2 --fvisibility=hidden" ./configure --with-php-config=/opt/php-5.6.15/bin/php-config --enable-phalcon make make install ``` 您现在需要将`extension=phalcon.so`添加到PHP ini并重新启动Web服务器,以便加载扩展。 您可以在Web服务器根目录中创建一个包含以下内容的小脚本: ```php <?php phpinfo(); ``` 并将其加载到您的Web浏览器上。Phalcon应该有一个部分。如果没有,请确保您的扩展已正确编译,您已对 `php.ini` 进行了必要的更改,并且您已重新启动Web服务器。 您还可以从命令行检查安装: ```bash php -r 'print_r(get_loaded_extensions());' ``` 这将输出类似于此的内容: ```php Array ( [0] => Core [1] => libxml [2] => filter [3] => SPL [4] => standard [5] => phalcon [6] => pdo_mysql ) ``` 您还可以使用CLI查看安装的模块: ```bash php -m ``` >[danger] 请注意,在某些基于Linux的系统中,您可能需要更改两个`php.ini`文件,一个用于Web服务器(Apache/Nginx),另一个用于CLI。如果仅为Web服务器加载Phalcon,则需要找到CLI`php.ini`并为要加载的模块添加必要的附加内容。