【问题标题】:CakePHP Installation on MAC在 MAC 上安装 CakePHP
【发布时间】:2015-07-20 12:29:19
【问题描述】:

我是 MacOS 的新手。我已成功安装 MAMP 并尝试通过终端安装 CakePHP,但出现以下错误:

  • cakephp/cakephp 3.0.x-dev 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.1.x-dev 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.9 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.8 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.7 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.6 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.5 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.4 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.3 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.2 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.1 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0-beta3 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0-beta2 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0-beta1 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0-alpha2 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0-alpha1 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0-RC2 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0-RC1 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp 3.0.0 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - cakephp/cakephp ~3.0 的安装请求 -> cakephp/cakephp[3.0.0, 3.0.0-RC1, 3.0.0-RC2, 3.0.0-alpha1, 3.0.0-alpha2、3.0.0-beta1、3.0.0-beta2、3.0.0-beta3、3.0.1、3.0.2、3.0.3、3.0.4、3.0.5、3.0.6、3.0。 7、3.0.8、3.0.9、3.1.x-dev、3.0.x-dev]。

【问题讨论】:

标签: macos cakephp terminal mamp


【解决方案1】:

错误报告“intl”扩展程序未启用或未安装在您的网络服务器上。

在 MAMP 上修复它只需几个步骤。 Here 解释了如何做到这一点。

【讨论】:

    【解决方案2】:

    我们可以使用 docker 代替 mamp 或安装 apache 和 php。

    将您的项目文件夹指定为 docker 容器的卷。

    我正在使用:docker-apache-php https://github.com/romeOz/docker-apache-php

    我使用的是外部数据库,但我们可以用这个镜像构建一个新的 docker 镜像来添加 mysql

    【讨论】:

      【解决方案3】:

      最好的方法是 Docker。

      在您的应用程序中创建文件 docker-compose.yml:

      version: "3.1"
      services:
        php-fpm:
          image: webdevops/php-nginx:7.4
          container_name: myapp-webserver
          working_dir: /app
          volumes:
            - ./:/app
          environment:
            - WEB_DOCUMENT_ROOT=/app/webroot
          ports:
            - "80:80"
      
      mysql:
          image: mysql:5.6
          container_name: myapp-mysql
          working_dir: /app
          volumes:
            - .:/app
            - ./tmp/data/mysql_db:/var/lib/mysql
          env_file:
            - mysql.env
          command: mysqld --character-set-server=utf8 --init-connect='SET NAMES UTF8;'
          ports:
            - "3306:3306"
      

      创建文件 mysql.env

      MYSQL_ROOT_PASSWORD=password
      MYSQL_DATABASE=my_app
      MYSQL_USER=my_user
      MYSQL_PASSWORD=password
      

      执行 docker-compose up 启动服务并在 http://localhost 访问应用程序。

      您需要做的下一件事是使用正确的凭据更新您的数据库配置 - 主机是服务名称,在我们的例子中是“mysql”:

      'host' => ‘mysql’,
      'username' => 'my_user',
      'password' => ‘password’,
      'database' => 'my_app'
      

      现在可以执行了

      docker-compose exec php-fpm bin/cake
      

      【讨论】:

      • 这对您的原始答案来说是一个令人印象深刻的改进。谢谢。
      猜你喜欢
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 2018-10-12
      • 2014-06-05
      • 2013-02-18
      • 2019-08-17
      • 2017-05-09
      相关资源
      最近更新 更多