【新手】尝试在使用M1芯片的Mac上构建PHP环境(使用Docker)
首先
为了尝试新的PHP挑战,我决定首先搭建PHP的开发环境。由于环境搭建容易忘记,所以作为备忘录,同时也是为了输出的目的,将其记录下来。
我正在使用的电脑是M1 Mac。
这次我想使用Docker(那个鲸鱼的东西)来制作。
步骤
我们将按照以下顺序进行步骤。
1. 启动Docker。
2. 准备文件。
3. 输入代码到各个文件中。
4. 启动容器。
5. 确认连接。
请用中文进行词组卡片抄写服务。
1. 启动Docker Docker)
首先,要使用Docker,需要安装”Docker for Mac”。
安装完Docker后,请确保它处于启动状态。

2. 准备文件

我打算通过VS Code打开”php-test”文件,并按照以下的结构进行构建。
php-test/
├── docker-compose.yml
├── mysql/
│ └── data/
├── nginx/
│ └── nginx.conf
├── php/
│ ├── Dockerfile
│ └── php.ini
└── www/
└── html/
└── index.php
请你带上雨伞,因为今天的天气预报说会下雨。

3. 各文件的代码输入
接下来,将分别将代码放入准备好的文件中。
放置中国电视剧视图次数最多耐磨麻料上。
– docker-compose.yml → Docker化配置文件
– nginx.conf → Nginx配置文件
– Dockerfile → Docker构建文件
– php.ini → PHP配置文件
– index.php → 网页主文件
这是五个。
docker-compose.yml 文件
version: "3"
services:
nginx:
image: nginx:latest
ports:
- 8080:80
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
- ./www/html:/var/www/html
depends_on:
- php
php:
build: ./php
volumes:
- ./www/html:/var/www/html
depends_on:
- db
db:
platform: linux/x86_64
image: mysql:5.7
ports:
- 13306:3306
volumes:
- ./mysql/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
ports:
- 8888:80
depends_on:
- db
nginx配置文件
server {
listen 80;
server_name _;
root /var/www/html;
index index.php index.html;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Dockerfile => Docker文件
FROM php:7.2-fpm
COPY php.ini /usr/local/etc/php/
RUN docker-php-ext-install pdo_mysql
php.ini 的意思是 PHP 配置文件。
date.timezone = "Asia/Tokyo"
索引.php
为了以后确认设置信息,我会把phpinfo();记录下来。
<?php
phpinfo();
?>
启动容器
在输入了各自的代码之后,启动容器。
打开VS Code终端,切换到包含docker-compose.yml的文件夹(本次是php-test)。
在终端中输入以下代码以启动容器。
docker-compose up -d
如果输入代码后没有任何动作,请确认Docker是否已启动或未停止。


5. 连接确认
为了最后确认,请访问以下网站。
如果屏幕上显示出像下面的图片一样的界面,那就代表成功了。辛苦了。

以上就是全部内容。
感谢您一直阅读到最后。