我最近将 PHP 版本升级到 8.1-fpm,并将 Debian 升级到 Bullseye。我在某处读到 Bullseye 附带 AVIF 支持,但是当我尝试使用imageavif(),出现以下错误:
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function imageavif()\nRun Code Online (Sandbox Code Playgroud)\n我在我的服务器上运行“php -i | grep AVIF”,它返回:
\nImageMagick supported formats => 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DNG, DPX, DXT1, DXT5, …Run Code Online (Sandbox Code Playgroud) 如何在循环的每次迭代中更改h1?此代码现在只在完成所有操作后显示h1文本.
for (i=0; i<array.length; i++) {
$("body > h1").text("Processing #" + i);
// things that take a while to do
}
Run Code Online (Sandbox Code Playgroud)
附加信息:如果我循环调整窗口大小,html更新.
假设我有一个字符串"1,000,786".我希望将其转换为"1000786".我理解preg_replace的第一部分类似于"[0-9],[0-9]",但我不明白如何在preg_replace的'replace with'部分中获取数值.谢谢.
编辑:对不起,我忘了提到它并不像删除逗号那么简单,因为可能包含字母字符.只有当逗号介于两个数字之间时,我才希望它消失.
例如:"Apple,Banana 1,746"将是"Apple,Banana 1746".
我正在尝试更新我的服务器以使用 PHP8.1,但最终禁用了 http/2,并且也不知道如何重新启用它并实际运行 PHP8.1。
我做的第一步是:
sudo a2dismod php7.4
sudo a2enmod php8.1
Run Code Online (Sandbox Code Playgroud)
第二个命令与 mpm_event 发生冲突,所以我运行:
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
Run Code Online (Sandbox Code Playgroud)
再次运行“sudo a2enmod php8.1”以及“sudo systemctl restart apache2”后,看起来没问题。
但是,每当我运行“php -v”时,它都会显示 CLI 为“8.1”,但在实时站点上使用“phpinfo()”仍然返回“7.4.26”。
我还运行了这些命令,它们都显示 8.1 当前正在运行:
sudo update-alternatives --config php
sudo update-alternatives --config phar
sudo update-alternatives --config phar.phar
sudo update-alternatives --config phpize
sudo update-alternatives --config php-config
Run Code Online (Sandbox Code Playgroud)
在这一切之后,我注意到我的网页停止通过 http/2 提供服务。在尝试“sudo a2dismod mpm_prefork”以便我可以再次启用 mpm_event 时,它说它无法禁用 mpm_prefork,因为与 PHP 模块存在冲突。当我禁用 PHP 模块时,我可以禁用 mpm_prefork 并启用 mpm_event 但这样我就不再有 PHP了(我想?这一切都很令人困惑......)
编辑:我尝试禁用 PHP 模块并启用 mpm_event 但它使网站不再工作,所以我恢复了这些更改。
为了清楚起见,当我尝试“sudo a2dismod mpm_prefork”时,我收到此错误:
ERROR: The …Run Code Online (Sandbox Code Playgroud)