安装 Apache 2.4
1  | $ sudo apt update  | 
安装 MySQL-Server 8.0
1  | # 安装 MySQL8.0  | 
安装 PHP 7.2
1  | # 安装 PHP 存储库  | 
安装 PHP8.1
1  | # 安装 PHP8.1  | 
测试是否正常
1  | # 查看网络监听,  | 
安装 composer
1  | curl https://getcomposer.org/installer -o composer-setup.php  | 
安装 GIT
1  | sudo apt install git  | 
安装 npm
1  | sudo apt install npm  | 
开启 SSL
1  | # 开启SSL  | 
常见问题
- PHP在使用chmod时出现 chmod(): Operation not permitte
 
1  | #/etc/wsl.conf  | 
- 启动服务
 
1  | $ sudo vim /usr/local/bin/startup  | 
- SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
 
1  | mysql> ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';  | 
- Could not instantiate mail function.
 
安装 sendmail或者postfix
1  | $ sudo apt install sendmail  | 
- sql_mode 引起的SQL错误 (应该是旧SQL语法不够严谨)
 
1  | # 查看MySQL 的 sql_mode  | 
* ORDER BY clause is not in GROUP BY clause and contains nonaggregated *
原因: MySQL被Oracle收购后从MySQL5.7开始这个 ONLY_FULL_GROUP_BY 和 Oracle 一样,要求 SELECT 列一定要在 GROUP BY 中 ,或者本身是聚合列(SUM,AVG,MAX,MIN)
解决办法:去掉 ONLY_FULL_GROUP_BY 解除限制
* Invalid datetime format: 1292 Incorrect datetime value: ‘0000-00-00 00:00:00’ *
原因 :timestamp 要求 ‘1970-01-01 08:00:00’ 开始的时间格式或者 NULL
解决办法: 去掉 NO_ZERO_IN_DATE,NO_ZERO_DATE ,或者把 0000-00-00 00:00:00 改成 NULL 或者 ‘1970-01-01 08:00:00’
* SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column … *
原因: INT 类型不能给 “” 空值,
解决办法: 改成INT值,或者去掉 STRICT_TRANS_TABLES
1  | $ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf  |