安装¶
需求¶
PHP 8.1¶
Phalcon v5.9 仅支持 PHP 8.0 及以上版本。
尽管 PHP 8.0 已经发布几年了,它的主动支持以及安全更新已经过期,Phalcon 仍然支持它,以提供足够的时间给开发人员升级他们的应用程序。我们将继续为 v5 支持 PHP 8.0 再持续一年。Phalcon v6 及更高版本将支持 PHP 8.1+。
注意
安装 Web 服务器不在本文档的讨论范围之内。请参考 Internet 上的相关指南来了解如何安装 Web 服务器。
PDO¶
由于 Phalcon 是松耦合的,因此它在无需额外扩展的情况下即可暴露功能。然而,某些组件依赖于其他扩展才能工作。当需要数据库连接和访问时,您需要安装php_pdo
扩展。如果您的 RDBMS 是 MySQL/MariaDB 或 Aurora,则还需要php_mysqlnd
扩展。同样,使用 Phalcon 连接 PostgreSql 数据库需要php_pgsql
扩展。
加载顺序¶
Phalcon 需要在PDO
之后加载。某些发行版会在ini
文件上添加数字前缀。如果是这种情况,请为 Phalcon 选择一个较高的数字(例如50-phalcon.ini
),高于PDO
。这将在必需的扩展之后加载 Phalcon。但是,如果您的发行版只有php.ini
文件,请确保顺序与此类似:
硬件¶
Phalcon 被设计为尽可能少地使用资源并提供高性能。尽管我们在各种高端环境中测试了 Phalcon(例如 0.25GB RAM、0.5 CPU),但您选择的硬件将取决于您的应用需求。
我们在过去几年中一直在 Amazon VM(512MB RAM 和 1 vCPU)上托管我们的网站和博客。
软件¶
注意
您应始终尝试使用最新版本的 Phalcon 和 PHP,因为它们解决了错误、提升了安全性,并提高了性能。
除了 PHP 8.0 或更高版本外,根据您的应用需求和所需的 Phalcon 组件,您可能还需要安装以下扩展:
- curl
- fileinfo
- gettext
- gd2(用于使用Phalcon\Image\Adapter\Gd类)
- imagick(用于使用Phalcon\Image\Adapter\Imagick类)
- json
libpcre3-dev
(Debian/Ubuntu),pcre-devel
(CentOS),pcre
(macOS)- PDO扩展以及相关的 RDBMS 特定扩展(如MySQL, PostgreSql等)
- OpenSSL扩展
- Mbstring扩展
- Memcached或其他相关缓存适配器,具体取决于您的缓存使用情况
注意
安装这些包将因您的操作系统以及您使用的包管理器(如果有)而异。请查阅相关文档以了解如何安装这些扩展。
对于libpcre3-dev
包,您可以使用以下命令:
PCRE¶
Debian¶
然后再次尝试安装 PhalconCentOS¶
Mac/Osx 使用 Brew¶
如果没有brew
,你需要前往PCRE网站并下载最新的 pcre:
tar -xzvf pcre2-10.42.tar.gz
cd pcre2-10.42
./configure --prefix=/usr/local/pcre-10.42
make
make install
ln -s /usr/local/pcre2-10.42 /usr/sbin/pcre
ln -s /usr/local/pcre2-10.42/include/pcre.h /usr/include/pcre.h
对于 Maverick
如果出现错误,可以使用安装平台¶
因为 Phalcon 被编译为 PHP 扩展,因此其安装方式与任何其他传统的 PHP 框架有所不同。Phalcon 需要作为模块安装并加载到您的 Web 服务器上。
注意
推荐的安装方法是通过PECL.
注意
要使用 PECL 安装 phalcon,您至少需要 4GB 的 RAM,否则 PECL 构建命令将会失败。
PECL¶
PECL 安装方法适用于 Windows、Linux 和 macOS。在 Windows 下提供预编译的 dll 文件,而 Linux 和 macOS 下 Phalcon 将本地编译。要使用 PECL 安装 Phalcon,请确保已安装pecl/pear。
额外的 PPA¶
Linux DEB:Ondřej Surý¶
您可以安装由Ondřej Surý.
提供的仓库:
并且 Phalcon:
Linux RPM:Remi¶
Remi Collet维护了一个优秀的 RPM 基础安装仓库。您可以找到有关如何为您的发行版启用它的说明点击这里.
之后安装 Phalcon 只需执行以下命令:
还有针对特定架构(x86/x64)和 PHP 版本的具体版本可用。
FreeBSD/GhostBSD¶
可以通过二进制包(pkg)或从源代码编译(ports)在 FreeBSD 上安装 Phalcon。要安装它,您需要发出以下命令:
pkg¶
ports¶
Gentoo¶
用于安装 Phalcon 的 overlay 可以在以下位置找到点击这里
Raspberry Pi¶
sudo -s
git clone https://github.com/phalcon/cphalcon
cd cphalcon/
git checkout tags/v5.9.2 ./
zephir fullclean
zephir build
还需要将交换文件从默认的 100 MB 增加到至少 2000 MB。因为编译器缺少 RAM。
替换CONF_SWAPSIZE=100
的文件CONF_SWAPSIZE=2000
保存设置后,重启守护进程:
macOS¶
Brew 包含二进制包,因此您不需要自己编译 Phalcon。如果您想自己编译扩展,则需要安装以下依赖项:
编译要求¶
- PHP 8.x 开发资源
- XCode
Brew¶
二进制安装(推荐):
编译 phalcon:brew tap phalcon/extension https://github.com/phalcon/homebrew-tap
brew install phalcon --build-from-source
MacPorts¶
编辑你的 php.ini 文件并在末尾追加:
重启你的Web服务器。
PHPBrew (macOS/Linux)¶
PHPBrew 是管理系统中多个PHP版本和PHP扩展的极佳方式。可以在以下位置找到PHPBrew的安装说明:点击这里
如果你使用PHPBrew,可以使用以下方法安装Phalcon:
Windows¶
要在 Windows 上使用 Phalcon,你需要安装 phalcon.dll。我们已经根据目标平台编译了几个 DLL。DLL 可以在我们的下载页面上找到。
确定你的 PHP 安装以及架构。如果你下载了错误的 DLL,Phalcon 将无法工作。phpinfo()
phpinfo() 输出包含此信息。在下面的示例中,我们需要 DLL 的 NTS 版本:
可用的 DLL 包括:
架构 | 版本 | 类型 |
---|---|---|
x64 | 8.x | 线程安全 |
x64 | 8.x | 非线程安全 (NTS) |
x86 | 8.x | 线程安全 |
x86 | 8.x | 非线程安全 (NTS) |
编辑你的 php.ini 文件并在末尾追加:
重启你的Web服务器。
从源代码编译¶
从源代码编译与大多数环境 (Linux/macOS) 类似。
需求¶
- 根据你的版本提供的PHP开发资源(建议使用8.1)
- GCC 编译器 (Linux/Solaris/FreeBSD) 或 Xcode (macOS)
- re2c >= 0.13
- libpcre-dev
编译¶
如果你想编译 Phalcon,可以这样做Zephir。你首先需要有Zephir Parser已安装在你的系统中:
根据你的目标系统,你可能需要创建一个zephir_parser.ini
文件,以加载此扩展。该文件的内容应为:
并且你可能需要使用phpenmod
启用该扩展。然后你需要下载最新的zephir.phar
来自点击这里。将文件移动到PATH
中可用的文件夹,例如/usr/local/bin
,例如,并使其可执行:
注意
Zephir 也可以通过composer require phalcon/zephir:dev-development
克隆存储库到文件系统上的某个位置。
编译 Phalcon
检查模块
现在你需要启用 Phalcon。创建一个名为phalcon.ini
的文件extension=phalcon.so
并将其内容设置为。该文件应存在于:
- Suse:
/etc/php8/conf.d/phalcon.ini
- CentOS/RedHat/Fedora:
/etc/php.d/phalcon.ini
- Ubuntu/Debian with Apache2:
/etc/php8/apache2/conf.d/30-phalcon.ini
并具有以下内容: - Ubuntu/Debian with Php8-FPM:
/etc/php8/fpm/conf.d/30-phalcon.ini
- Ubuntu/Debian with Php8-CLI:
/etc/php8/cli/conf.d/30-phalcon.ini
对于 PHP 8.+,上述路径可能会略有不同。
上述指令将编译和并在你的系统上ini
安装模块。你也可以编译扩展并手动将其添加到你的
cd cphalcon/
git checkout tags/v5.9.2 ./
zephir fullclean
zephir compile
cd ext
phpize
./configure
make && make install
文件中:extension=phalcon.so
中更改了php.ini
如果你使用上述方法,则需要在 CLI 和 Web 服务器中都添加
调整构建¶
默认情况下,我们尽可能地兼容所有处理器进行编译 (gcc -mtune=native -O2 -fomit-frame-pointer
)。如果你想让编译器生成与当前运行的处理器匹配的优化机器代码,可以在构建之前导出 CFLAGS 来设置自己的编译标志。例如:
这将为该芯片组生成最佳代码,但很可能在较旧的芯片组上导致编译对象损坏。
共享主机¶
在共享主机上运行你的应用程序可能会限制你安装 Phalcon,特别是如果你没有 root 访问权限。幸运的是,一些网络托管控制面板支持 Phalcon。
cPanel & WHM¶
cPanel & WHM 使用 Easy Apache 4 (EA4) 支持 Phalcon。你可以通过启用模块在 Easy Apache 4 (EA4) 中安装 Phalcon。
Plesk¶
Plesk 控制面板不支持 Phalcon,但你可以在 Plesk网站上找到安装说明。