你机器的 PHP 和 XAMPP 的 PHP 可能版本或配置不同
如果您尝试将 Phalcon 与 XAMPP 一起使用,您可能会遇到一些编译问题。编译 Phalcon 时,默认代码使用您机器的 php 脚本来运行函数 phpize 而不是 XAMPP 的 php 脚本。然后,当您编译并将 .so 添加到 XAMPP 时,它将尝试使用从不同 PHP 版本或配置构建的扩展。当然,只有当您的 Ubuntu PHP 版本或配置与您的 XAMPP php 版本不同时,才会出现该错误。
因此,为了纠正这个问题,请在 Phalcon 编译中添加一个额外的参数,如下所示:
###Part 1###
$git clone git://github.com/phalcon/cphalcon.git
$cd cphalcon/build
$sudo ./install --with-php-config=/opt/lampp/bin/php-config
我们添加了参数 --with-php-config=,它将说明应该使用什么 php 配置。运行 ./install 后,您应该会在终端中看到消息“感谢编译 Phalcon!
构建成功:请重新启动您的 Web 服务器以完成安装”。如果这没有发生,则意味着没有正确生成 pahlcon.so。如果发生这种情况,请打开 ./install 文件并将所有出现的 phpize 替换为 phpize --with-php-config=/opt/lampp/bin/php-config。有两种情况,一种在第 59 行,另一种在第 63 行。同时将 ./configure --enable-phalcon 替换为 ./configure --enable-phalcon --with-php-config= /opt/lampp/bin/php-config 在第 63 行。之后再次运行命令 $ sudo ./install --with-php-config=/opt/lampp/bin/php-config并检查您是否看到消息“感谢编译 Phalcon!
构建成功:请重新启动您的 Web 服务器以完成安装”
之后,继续正常流程:
###Part 2###
$vi /opt/lampp/etc/php.ini
在打开的文件中按“:”键,然后输入“1000”,然后按回车键。这应该带您到文件的第 1000 行,即 etension=xxxx.so 所在的位置。如果没有,请按向下箭头,直到找到该区域。像这样:
##Part 3##
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_ming.dll
;extension=php_mssql.dll
当你的光标在这样的地方时,按 "i" 进入插入模式并添加以下行:
##part 4##
extension=phalcon.so
注意,不要在前面加上";",这意味着它是一个注释行。之后按 ":" 保存文件,然后按 "x" 然后按 回车。这意味着您保存了文件。
然后,最后使用以下命令重新启动您的网络服务器:
##part 5##
$sudo /opt/lampp/lampp restart
到现在为止,一切都很好。希望对您有所帮助!