惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
L
LangChain Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
D
DataBreaches.Net
P
Proofpoint News Feed
小众软件
小众软件
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
雷峰网
雷峰网
G
Google Developers Blog

秋码分享

我是如何解决将 c++ 编译成可以在 node.js 中使用的 *.node,中间出现的一大堆问题的(指纹浏览器基石篇) eSIM Plus 爱沙尼亚手机号彻底翻车?“永久有效”悄然变成了一年! 接码平台 SMS-Activate 余额可以转移到新平台使用,截止日期:2026年1月29日 是时候将 hugo-theme-kiwi 主题提交到 themes.gohugo.io 站点上了 Flux2 刚开源就凉了?Z-Image 本地部署狠狠打了个样 声音的未来:Chatterbox —— 用「夸张度旋钮」提升表现力的开源 TTS 向导 还以为那只是换个背景?Qwen-Image-Edit 在 ComfyUI 中能做到更离谱的事 Windows 结合最新版 ComfyUI 部署阿里最新开源的 Qwen-Image 图像大模型 从零样本到跨场景:Seed-VC语音转换技术的革命性突破 大语音模型轻量化革命:MegaTTS3 如何重新定义文本生成语音的技术边界(windows篇) 竞赛级编程大模型OlympicCoder-7B之本地部署(Windows篇) 阿里开源了端到端全模态大模型Qwen-2.5-Omini-7B之本地部署(windows篇) 语音识别之whisper本地部署(实时语音之开篇) 甭管是个人还是企业都能部署的Mistral-Small3.1,远超同级别的模型 文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇 阿里QwQ-32B本地部署指南:用Ollama轻松运行320亿参数大模型 基于Qwen2.5大模型的Spark-TTS,零样本语音克隆,CPU可运行之本地部署(Windows篇) 智谱开源了文生图CogView4-6B模型,支持中文提示词之本地部署(Windows篇) 基于歌词生成整首歌的开源AI音乐模型,支持中、英、日、韩等多种语言,本地化部署YuE(windows篇) 阿里云开源的文生视频万相 Wan2.1之本地部署Wan2.1-T2V-1.3B模型 互动式开源AI图像编辑神器,Windows11本地部署 MagicQuill 本地部署Qwen2.5-VL-7B-Instruct多模态视觉大模型(Windows篇) 保持角色一致性的绘本生成AI开源项目之Story-Adapter本地部署Windows篇 本地部署 Stable Diffusion 3.5(最新 ComfyUI记录篇) 谁说Win7安装不了Node.js最新版的呢?都2025年,还不更新系统到Win11 vs code远程调试Linux服务器上的php代码 浏览器定制 | Windows11 编译 Chromium 133.0.6885.0(截稿前Chromium最新版之编译篇[一]) 不说是彻底搞懂,至少让你不再惧怕c/c++指针,以及各种奇葩指针变种 在 Windows8.1 下编译 Chromium (103.0.5060.68 之三) 安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二)
解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL...
一个游离于山间之上的江湖漫行者。A jungle wanderer who wanders above the mountain · 2024-11-27 · via 秋码分享

在日新月异的信息化下,软件也在跟随着互联网的脚步,逐步推进着各项计划。

近些年,各大语言像是不约而同的都在改进或优化,从而能让programmer在开发效率上有所提升,还使得软件在升级了新版本的program language加持下,运行速度和处理并发的能力得到前所未有的提升。

Java2014年发布了新的里程碑Java 8版本号,之后,Oracle变向外界承诺每三年发布一个LTS(Long Time Support)长期支持版本,每年的三月份和九月份都发布一个版本。然而,java社区可不管java发布了多少个新版本,他们依旧是在使用Java 8版本。

直到Java 17的发布,且Oracle更改了协议,或许是促使开发者使用Java 17 LTS,由享誉全球Java 开发离不开Spring framework牵头,也就是Spring framework 6.x 及以上版本必须使用Java 17、而Springboot 3.x版本及后续版本也必须是Java 17,因为Srpingboot 3.x依赖的是Spring framework 6.x

php5.6.x版本后,也在响应着互联网的潮流,顺应当下瞬息万变的信息化,也在改进着、优化着,或许试图挽回曾今那句PHP是世界上最好的语言!而努力奋进。

即使我们没有使用PHP新版本的特性,只要你的软件运行在新版本的PHP下,性能那跟之前的,可就没的说了。(这里说的不单单只是PHP,像JavaC/C++PythongolangC#等)

下载 Apache

对于php7.4PHP 5版本而言,可以下载Apache历史版本。

Apache 历史版本链接:https://www.apachelounge.com/download/additional/

image-20241127104552689

我们将下载下来的压缩包进行解压,打开其根路径下的conf文件夹,用你常用的IDE编辑httpd.conf文件。

#php5 support
LoadModule php5_module "D:/software/php-5.6.30/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# configure the path of php ini
PHPIniDir "D:/software/php-5.6.30"

有时,你可能还需要开启URL重写模块

image-20241127105415165

而对于PHP7.X版本,其实是与PHP5.X配置大同小异

#php7 support
LoadModule php7_module "D:/software/php-7.4.8/php7apache2_4.dll"
AddHandler application/x-httpd-php .php .html .htm
#configure the path to php.ini
PHPIniDir "D:/software/php-7.4.8"

#startup openssl
LoadFile "D:/software/php-7.4.8/libssh2.dll"
LoadFile "D:/software/php-7.4.8/libcrypto-1_1-x64.dll"
LoadFile "D:/software/php-7.4.8/libssl-1_1-x64.dll"

然而当你将使用了PHP8.xApache配置却不是什么php8_module,而是php_module

#php8 support
LoadModule php_module "D:/software/php-8.2.25/php8apache2_4.dll"
AddHandler application/x-httpd-php .php .html .htm
#configure the path to php.ini
PHPIniDir "D:/software/php-8.2.25"

#startup openssl curl
LoadFile "D:/software/php-8.2.25/libssh2.dll"
LoadFile "D:/software/php-8.2.25/libcrypto-3-x64.dll"
LoadFile "D:/software/php-8.2.25/libssl-3-x64.dll"

#this is not require ( my english is learning ...)
LoadFile "D:/software/php-8.2.25/libsodium.dll"

php.ini配置文件开启 curl 扩展

我们将下载下来的PHP二进制压缩包,进行解压后,打开它,在根目录下,拷贝php.ini-development一份在同路径下,并重命名为php.ini

PHP各个版本下载链接:https://windows.php.net/downloads/releases/archives/

image-20241127111010714

修改PHP 扩展的目录。

image-20241127111310258

根据自己项目的实际情况,开启相应的扩展,只需将分号去掉即可生效。

image-20241127111608021

至于PHP7.X版本,开启扩展,与PHP5.X也都大抵相似,只是扩展名不再是像PHP5.X那般,而是extension=extension_name,例如CURL扩展则是extension=curl

image-20241127112159745

然而,到了PHP8.X版本,想要开启curl扩展,总是在Apache下出现Unable to load dynamic library 'curl'的错误。

image-20241127112623635

解决 php8.x 无法加载 curl 扩展的问题

其实,我们在Apachehttpd.conf配置文件里,已经通过LoadFile的方式来加载dynamic library,可是仍旧加载不了curl这个扩展。

起先,我一度怀疑是不是需要将libssh2.dlllibcrypto-3-x64.dlllibssl-3-x64.dll三个dynamic library(现在我都会文章里适当的插入写英文,一方面是加深了我的单词的记忆,另一方面也能鞭策我不断的学习英语,不管你介不介意,反正我都加了。),拷贝到Apachebin文件夹下或System32目录里呢?

然而,这个错误的想法,没过几秒钟,就被我抛之脑后了。之所以会有将那些文件复制到指定的目录内,那是网上都是这样千篇一律解决方案,如果它可行,我也是不推荐的!

同样是通过LoadFile方式来加载那些dynamic library,为什么PHP7.X却是可以load dynamic library ‘curl'?而php8却出现了Unable to load dynamic library 'curl'的错误呢?

很显然,这不是出现在LoadFile这种加载方式上的错误,从而也就没有必要将那几个dynamic library拷贝到特定的位置上了。

那么,最后便是Apache版本加载不了PHP8.X版本的curl扩展了。

知道了这一点后,我们将再次打开Apache下载链接,下载最新的Apache

image-20241127115808231