码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 问题杂编 ━━ windows2016安装php8.1及mysql8出现的问题汇总(简直就是*#*o#)


    本以为按照正常程序走就完了,结果遇到各种各样的问题,最终只能妥协用低版本成交。这里把所有问题的出现和解决整理出来,避免下次再遇到类似问题。

    安装mysql8失败

    安装mysql8之后,提示service无法启动,删了重装多次都不行,最终只能安装mysql5解决。。。
    而且原因并未找到,log提示尝试无密码连接失败

    今天安装另一台服务器,终于找到办法安装成功:《mysql配置时,提示:Failed to start service MYSQL80》

    计算机管理 -> 本地用户和组 -> 组 -> Administrators -> 添加 -> NETWORK SERVICE

    在这里插入图片描述
    将 NETWORK SERVICE 加入 administrator 组后继续执行mysql配置,成功~~~~

    在这里插入图片描述

    mysql备份恢复失败

    恢复备份时只恢复了表结构,表数据并未恢复,需要找到php.ini,将max_allowed_packet值变大

    # The maximum size of one packet or any generated or intermediate string, or any parameter sent by the
    # mysql_stmt_send_long_data() C API function.
    max_allowed_packet=50M
    
    • 1
    • 2
    • 3

    mysql备份恢复卡在日期为“0000-00-00”上

    目前默认的my.ini配置为严格模式,且禁止日期使用0000-00-00这种格式

    [mysqld]
    ...
    # The current server SQL mode, which can be set dynamically.
    # Modes affect the SQL syntax MySQL supports and the data validation checks it performs. This 
    # makes it easier to use MySQL in different environments and to use MySQL together with other 
    # database servers.
    sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    只需要修改为

    sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    
    • 1

    重启MySQL服务后再恢复备份或导入sql都可以成功。
    在这里插入图片描述
    别忘了备份恢复后将my.ini配置恢复严格模式。
    建议不要恢复严格模式,除非你的代码都符合他的要求,我实际运行时因为没去掉ONLY_FULL_GROUP_BY,就出现了如下类似的错误:

    • 在MySQL 5.7及更高版本中,对于GROUP BY查询的限制更加严格,如果SELECT列表中的列不在GROUP BY子句中,或者没有使用聚合函数对其进行聚合,则会引发该错误。
    • 如果不加修饰符 ONLY_FULL_GROUP_BY,也可以在低版本 MySQL 中执行,但是在 5.7.5 及以上版本中,如果不加修饰符,则会报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘orders.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by。

    参考:一招解决MySQL5.7日期格式默认值0000-00-00 00:00:00设置报错Invalid default value for xxx

    安装php8.1.9失败

    *#*o#

    难得那么火大,一个简单的包,本机8.1.3还没问题,8.1.9遇了鬼了,这里一个个说来。

    正常安装方法见文章:PHP开发日志 ━━ IIS7安装PHP8.0及多个版本如何同时存在一台服务器

    fastcgi崩溃

    这个问题竟然在2年前就写过文章,但因为近2年没遇到这个问题,所以给忘了~~~

    在这里插入图片描述

    首先排除.net framework版本不正确。
    其次把程序池的进程模型 -> 标识 修改为:LocalSystem

    具体分析见文章
    服务器配置篇 ━━ iis7配置php出现fastcgi的500错误,LocalSystem/LocalService/NetworkService/ApplicationPoolIdentity
    iis + php 遇到问题:php-cgi.exe - FastCGI 进程意外退出
    解决php-cgi.exe - FastCGI 进程意外退出

    php8.1组件gd出错

    • 与原代码不兼容的地方太多,比如浮点32.142857142857146到int的隐式转换将丢失精度、不再支持对整个 $GLOBALS 数组的写访问、mt_srand()不为必须等;
    • 问题也太多,连gd组件都会出错,提示函数imagecreate()不存在。

    那就不用多说了,这个版本肯定不能使用,为了求稳,最终选择了php8.0版本使用

    PHP Deprecated: Implicit conversion from float xxx to int loses precision
    从 PHP 8.1.0 起,不再支持对整个 $GLOBALS 数组的写访问

    PHP保留字变化

    在操作数据库时,若某些字段命名为system等系统保留字时,php在sql语句中需要在该字段左右加上“`”符号

    删除某些windows角色和功能后各功能崩溃,提示缺少mscoree.dll

    因为在各种配置测试的时候安装了一些不需要的Windows功能,所以在使用mysql5和php8.0网站能正常打开后,决定把自认为不需要的功能都给删了重启试试,其中包括.net framework 3.5和4.5,结果。。。

    powershell、服务器管理器、IIS、启用或关闭Windows功能等等都打不开,提示缺少mscoree.dll。

    在这里插入图片描述

    唉,自作孽不可活啊。

    网上找了各种版本的mscoree.dll复制到c:\windows\system32目录里都无法正常启动,后来找到这篇文章才成功
    《运行Windows终端(PowerShell)提示由于找不到mscoree.dll无法继续执行代码》。

    在这里插入图片描述

    • 方法一(本机测试失败):

    1、首先新建一个文本文档,打开新建文本文档,将下面代码复制进去:

    start /w pkgmgr /iu:Microsoft-Windows-NetFx3-OC-Package
    start /w pkgmgr /iu:Microsoft-Windows-NetFx4-US-OC-Package
    start /w pkgmgr /iu:Microsoft-Windows-NetFx3-WCF-OC-Package
    start /w pkgmgr /iu:Microsoft-Windows-NetFx4-WCF-US-OC-Package
    
    • 1
    • 2
    • 3
    • 4

    2、点击“文件”–“另存为”;

    在这里插入图片描述

    3、将保存类型修改为【所有文件】,然后将文件名修改为“.bat”,点击【保存】;
    4、右键 .bat -选择“以管理员身份运行”即可!

    等待命令框读取完成后重启一次计算机就可以完成修复了!

    • 方法二(可行):

    使用cmd,依次运行以下命令:

    dism /online /enable-feature /featurename:netfx3 /all
    dism /online /enable-feature /featurename:WCF-HTTP-Activation
    dism /online /enable-feature /featurename:WCF-NonHTTP-Activation
    
    • 1
    • 2
    • 3

    有可能在运行第二第三条命令时会提示需要先安装父功能

    即使用 dism /online /enable-feature /featurename:WCF-HTTP-Activation /all 或 dism /online /enable-feature /all /featurename:WCF-HTTP-Activation 都可以

    在这里插入图片描述

    那么此时依次执行的命令为:

    dism /online /enable-feature /featurename:netfx3 /all
    dism /online /enable-feature /featurename:WCF-HTTP-Activation /all
    dism /online /enable-feature /featurename:WCF-HTTP-Activation
    dism /online /enable-feature /featurename:WCF-NonHTTP-Activation
    
    • 1
    • 2
    • 3
    • 4

    如果第一步命令执行后就去打开IIS等,很可能已经不再提示缺少.dll,而是提示需要NET FRAMEWORK V 4.0.30319启用,但安装时又可能提示不能安装~~

    我在第一步命令后成功下载安装过.net framework 4.8,但并没有什么用。

    如何使用DISM命令行工具修复Windows 10映像
    NET FRAMEWORK V 4.0.30319 to download
    Microsoft .NET Framework 4 KB2468871
    Microsoft .NET Framework 3.5 Service pack 1 (Full Package)

  • 相关阅读:
    隐私计算头条周刊(9.4-9.10)
    解决jupyter打开的默认路径问题
    app全屏广告变现,有哪些利弊?如何发挥全屏广告的变现潜力?
    【华为OD面试真题 JAVA】根据访问日志统计日活和月活
    SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法
    c++封装webrtc sdk(二):在sdk端实现webrtc视频渲染
    第二十六章·访问者模式
    java中转义字符的源码数据格式,内存存储数据格式和转换json后的数据格式
    麦芽糖-阿奇霉素 maltose-Azithromycin 阿奇霉素-PEG-麦芽糖
    项目管理工具的功能与帮助一览
  • 原文地址:https://blog.csdn.net/snans/article/details/126510931
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号