如何搭建PHP虚拟机开发环境

本篇内容介绍了“如何搭建PHP虚拟机开发环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

滦州网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

安装VirtualBox
链接:https://pan.baidu.com/s/1fJ-8CUJXdKUrwJQQIkta0A 
提取码:vjdr
安装vagrant
链接:https://pan.baidu.com/s/1xLrLLbfVpnC97Zhw4rjJ1Q 
提取码:7m7z
安装虚拟盒子
链接:https://pan.baidu.com/s/1VlEbl5VbI5wbjyI6YyCVyQ 
提取码:zy8c 

解压lt-homestead-3-0-0-2017082400.zip,并进入目录(不能有中文),执行
vagrant box add metadata.json

注意事项
vagrant box list 列出全部盒子
vagrant global-status --prune 查看活跃盒子
vagrant destroy (id:a1b2c3d4) # 销毁活跃盒子
vagrant box remove laravel/homestead --box-version 3.0.0  删除盒子
安装Homestead并初始化
> cd D:/
> git clone https://github.com/laravel/homestead.git Homestead
> cd Homestead
> bash init.sh
配置Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox #虚拟机平台,用virtualbox装的一定要确认这里是virtualbox

authorize: ~/.ssh/id_rsa.pub #ssh的公钥

keys:
    - ~/.ssh/id_rsa #ssh的私钥,配置了ssh以后,登录虚拟机可以直接在终端输入homestead ssh进入

folders: #设置文件夹机映射关系
    - map: E:/www  #本地文件夹
      to: /home/vagrant/code #虚拟机文件夹

sites: #设置域名和网站的映射关系
    - map: laravel8.com #域名
      to: /home/vagrant/code/laravel8/public
      php: "7.3"
    - map: tp6.com #域名
      to: /home/vagrant/code/tp6/public
      php: "7.3"
    - map: devscibox.com #域名
      to: /home/vagrant/code/Scibox/public
      php: "7.3"

databases:
    - laravel8
    - tp6
    - scibox_nankai_online
    - scibox_bit_online

features:
    - MySQL: true
    - mariadb: false
    - postgresql: false
    - ohmyzsh: false
    - webdriver: false

#services:
#    - enabled:
#        - "postgresql@12-main"
#    - disabled:
#        - "postgresql@11-main"

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp
生成ssh秘钥(秘钥就是验证身份的,是主机的凭证)
检查 ls -al ~/.ssh,存在就不需要生成
生成 ssh-keygen -t rsa -C "your_email@example.com"
配置本地hosts
192.168.10.10  laravel8.com (注意ip)
vagrant启动
vagrant up(如果启动不了,就在virtualBox软件里手动删除)

常用命令

命令行说明
vagrant init初始化 vagrant
vagrant up启动 vagrant
vagrant halt关闭 vagrant
vagrant ssh通过 SSH 登录 vagrant(需要先启动 vagrant)
vagrant provision或者vagrant reload --provision重新应用更改 vagrant 配置
vagrant destroy删除 vagrant

切换php版本

update-alternatives --display php 查看所有 php 版本和当前版本
sudo update-alternatives --config php 执行后,会列出当前 php 所有版本和编号,输入编号,切换到执行的版本

切换composer源

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(阿里)
composer config -g repo.packagist composer https://packagist.org(官方)

开启pathinfo适应THINKPHP要求

进入/etc/nginx/sites-available
设置同域名文件,可写sudo chmod -R 777 ./devscibox.com
vim修改转发为
location / { 
	if (!-e $request_filename) {
   		rewrite  ^(.*)$  /index.php?s=/$1  last;
		break;	
    }
 }
重启nginx
sudo service nginx restart

设置mysql_mode

select @@GLOBAL.sql_mode 查询sql_mode
SET GLOBAL sql_mode = 'NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; 在navicat里设置
sudo service mysql restart 重启mysql
创建应用
$ cd ~/code (此目录等效于本地www目录)
$ composer create-project laravel/laravel dirname --prefer-dist "8.*.*"
默认密码
ssh
用户名:vagrant
密码:vagrant

mysql软件连接
host: 127.0.0.1
user: homestead
pass: secret
port: 33060

mysql网站连接
host: 127.0.0.1
user: homestead
pass: secret
port: 3306
测试效果
http://laravel8.com/
配置vscode调试

######安装netstat

sudo apt-get install net-tools

开启xdebug

xon

######查询网关ip

sudo netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10

找到xdebug.ini

php --ini | grep 'xdebug'
sudo chmod -R 777 /etc/php/7.3/cli/conf.d/20-xdebug.ini (开启写入权限)

配置xdebug

zend_extension=xdebug.so
xdebug.mode=debug
xdebug.discover_client_host=1
xdebug.client_port = 9001
xdebug.max_nesting_level = 512
xdebug.scream=0
xdebug.cli_color=1
xdebug.show_local_vars=1

xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_host=10.0.2.2
xdebug.remote_host=9001
xdebug.start_with_request = yes

重启nginx和php

sudo service php7.3-fpm restart
sudo nginx -s reload

配置vscode

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9001
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9001
        },
        {
            "name": "Listen for XDebug on Homestead",
            "type": "php",
            "request": "launch",
            "pathMappings": {
                "/home/vagrant/code/Scibox": "E:\\www\\Scibox"
            },
            "port": 9001
        }
    ]
}
安装mysql5.7

设置镜像

sudo chmod -R 777 /etc/apt/sources.list
sudo vim /etc/apt/sources.list
清华 https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
sudo apt-get update

清除原来的mysql


安装新mysql

查看可安装的包
apt-cache search mysql | grep mysql-server

“如何搭建PHP虚拟机开发环境”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站标题:如何搭建PHP虚拟机开发环境
分享地址:http://pwwzsj.com/article/pdhdje.html