Macos 在MAC上安装CakePHP

Macos 在MAC上安装CakePHP,macos,cakephp,terminal,mamp,Macos,Cakephp,Terminal,Mamp,我是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*

我是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]

错误是报告web服务器上未启用或安装“intl”扩展


在MAMP上修复它的步骤很少。我们可以使用docker来代替mamp或安装apache和php

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

我使用的是:docker apache php


我正在使用一个外部数据库,但是我们可以用这个映像构建一个新的docker映像来添加mysql,最好的方法是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

这可能是一个令人印象深刻的改进,你原来的答案重复。非常感谢。