1.数据库应该使用utf8mb4,用来对应汉字中的生僻字
创建数据库后
cretae database XXX;
后应该使用
set character_set_client=utf8mb4
设置字符集,当数据库支持字符集并且laravel中config也设置为mb4才会生效
'mysql' => ['driver' => 'mysql','url' => env('DATABASE_URL'),'host' => env('DB_HOST', '127.0.0.1'),'port' => env('DB_PORT', '3306'),'database' => env('DB_DATABASE', 'forge'),'username' => env('DB_USERNAME', 'forge'),'password' => env('DB_PASSWORD', ''),'unix_socket' => env('DB_SOCKET', ''),'charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','prefix_indexes' => true,'strict' => true,'engine' => null,'options' => extension_loaded('pdo_mysql') ? array_filter([PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),]) : [],],
2.数据库使用mb4编码后,在访问时会因为兼容问题报错

这个时候要指定PHP版本为对应使用项目的PHP版本要求以上
//安装PHP7.3apt-get install -y php7.3 php7.3-common php7.3-mbstring php7.3-mysql php7.3-xml php7.3-gd php7.3-curl php7.3-json php7.3-fpm php7.3-zip libapache2-mod-php7.3 php7.3-xdebugupdate-alternatives --config php// 修改vim /etc/apache2/sites-available/xxxx.conf<VirtualHost *:80>ServerName xxx.comDocumentRoot /var/www/html/xxx####加载不同的php版本####<FilesMatch \.php$>SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"</FilesMatch>####加载不同的php版本####</VirtualHost>
同时,再启用以下两个模块
a2enmod proxy proxy_fcgi
重新加载:service apache2 reload
重启:service apache2 restart
备注:
update-alternatives —config php
这是设置PHP系统默认使用版本的,和composer和php artisan之类的命令相关
a2enmod php7.1
a2dismod php7.1
这是apache默认解析项目使用的php版本
配置了fcgi后就可以设置不同项目使用不同的php版本,而不是每次手动切换
