使用 XAMPP 将 cakePHP 应用程序部署到本地主机

Posted

技术标签:

【中文标题】使用 XAMPP 将 cakePHP 应用程序部署到本地主机【英文标题】:Deploying cakePHP app to localhost using XAMPP 【发布时间】:2019-03-12 16:41:17 【问题描述】:

3 天来,我一直在尝试让它工作但没有运气,这让我非常疯狂。我已经使用 composer 为我生成了一个骨架 cakephp 项目,现在我正在尝试启动服务器并测试一切都是 G2G。从我的应用程序目录中运行

bin/cake server

然后出现以下错误并且未将应用程序部署到服务器。

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20160303/php_mbstring.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20160303/php_mbstring.dll, 0x0009): closured error in Unknown on line 0

PHP 致命错误:您必须启用 intl 扩展才能使用 CakePHP。 在 /Users/nateschreiner/Documents/Development/ActTwo/app/config/requirements.php 第 31 行

我已经进入 /etc/php.ini 并且没有注释

extension=php_intl.dll

我也进入了 /Applications/XAMPP/xamppfiles/etc/php.ini 并取消了对同一行的注释。

什么都没有,它真的开始磨我的齿轮了。也没有得到任何帮助浏览谷歌。

【问题讨论】:

可能还有另一个用于命令行的ini文件,检查一下。 MacOS 使用 .so 文件,而不是 .dll 文件,它们适用于 Windows。 @ndm 好的,那么如何在 mac 或 linux 操作系统上解决上述问题? 从再次注释 .dll 扩展名开始,然后像@burzum 所说的那样检查您的 PHP 安装是否使用了其他 ini 文件。确保没有任何 ini 文件指向任何 .dll 扩展名。也许你没有正确安装 XAMPP,谁知道呢,但如果 MacOS 的 XAMPP 默认使用启用了 .dll 扩展的 PHP ini 文件,我会感到惊讶。 【参考方案1】:

我绝对永远地解决了这个问题,但我终于做到了,所以我会发布一个答案,以防其他人有这个问题。

第一:

brew install php@7.1

(如果尚未安装)

brew upgrade php@7.1 

更新符号链接:

brew link --overwrite --force php@7.1

然后:

echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile

之后,转到您的应用目录并发出命令:

bin/cake server

你应该在 localhost 上启动一个服务器

【讨论】:

以上是关于使用 XAMPP 将 cakePHP 应用程序部署到本地主机的主要内容,如果未能解决你的问题,请参考以下文章

最低 PHP 版本...!! CakePHP 3.4.7 (Wamp / Xampp)

CakePHP 应用程序无法在 localhost 中启动

为 CakePHP Web 应用程序将 phpMyAdmin 数据库迁移到 Windows Azure

尝试烘烤时出错。 #cakephp

CakePHP 3.0 连接数据库失败

什么是修补使用 XAMPP 部署的 web 应用程序的好方法?