安装 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 |