标签 PHP 下的文章

PHP 仍然是统治服务器端的编程语言

根据 W3Techs 今天发布的一份报告,PHP 在 2010 年的市场份额为 72.5%,而在 2021 年占比达到 78.9%。只有一个其他的服务器端语言曾经突破 10% 的份额,这个竞争对手是 ASP.NET,它在 2010 年拥有令人印象深刻的 24.4% 的份额,但在 1 月份下降到 9.3%,这个月下降到 8.3%。本次调查涉及热门网站,而非仅限于一些精英网站,并且在调查中避免来自域名停放服务和垃圾邮件发送者的数据歪曲,尽量契合当前的互联网现实。

PHP 确实是最好的语言!

用户可以从微软账户中彻底删除密码了

微软表示密码机制本身已经成为安全软肋,每年遭受的相关攻击多达 180 亿次。从今天开始,用户可以将微软账户中的密码彻底删除了。当然,在步入无密码时代之前,你需要在自己的智能手机上安装微软验证器应用,并与你账户连接。之后根据实际使用位置的不同,通过安全密钥,或者是通过邮件、手机或 Outlook、OneDrive 等其他兼容性应用或服务接收到的验证码进行登录。此前微软在 2018 年启用了安全密钥,并在 2019 年成功使 Windows 10 实现无密码登录。超过 2 亿的商业客户已经在使用无密码登录。

不知不觉中,大家习以为常的密码其实已经是落后的、可淘汰的安全缺陷了。

Azure 默认 Linux 配置曝出严重的远程代码执行漏洞

安全研究专家指出,他们在诸多流行的 Azure 服务中,发现了开放管理基础设施(OMI)软件代理中存在的一系列严重漏洞。问题在于当 Azure 客户在云端设置 Linux 虚拟机服务时,OMI 代理会在他们不知情的情况下自动部署。更糟糕的是,黑客只需发送一个剔除了身份验证标头的数据包,即可渗透并取得远程机器上的 root 访问权限。微软已经发布了补丁,同时建议客户手动执行更新。据推测 Azure 上多达 65% 的 Linux 部署都受到影响。

最讨厌云服务商偷偷往系统镜像里面塞东西,而且这些软件还经常有验证漏洞。

以打击盗版为目标的恶意程序

安全研究人员发现了一种不同寻常的恶意程序,与其它专注于偷密码、搞破坏、或勒索赎金的恶意软件不同,它被设计为专门打击软件盗版。这个被称为 Vigilante 的恶意程序通过盗版网站传播,将自己伪装成各种软件包的盗版副本。受害者下载和执行后会将执行的文件名和 IP 地址发送给攻击者控制的服务器,然后修改主机的 hosts 文件将一千多个盗版网站的域名指向本地地址 127.0.0.1。被屏蔽的盗版网站包括了海盗湾 thepiratebay.com 等。受害者如果不手动修改 Hosts 文件删除相关条目的话将会无法再访问盗版网站。

真是一种“奇特”的恶意程序,这可以算是“正义的铁拳”么?

macOS Monterey 不再内置 PHP

自 OS X 10.0.0 版本开始,PHP 就内置在系统中,CGI 或 CLI 默认都可使用。而在 macOS Monterey 中将不再内置 PHP,在 Mac 平台上使用该编程语言的开发人员今后必须要自己安装。

在 macOS 系统中,PHP 并非是唯一集成的编程语言,在 macOS Monterey 中仍然配备了 2.7.16 的 Python 环境。不过 macOS 未来应该并不会像 PHP 一样移除 Python,而是会升级到 Python 3。

我觉得是 PHP 对 macOS 环境的作用并不大了,毕竟一般人不会在自己的 macOS 里面运行 Web 服务器。

谷歌开源全同态加密(FHE)工具包

谷歌开源了一组 C++ 库,用于在现代应用中实现全同态加密(FHE)。

全同态加密 Fully homomorphic encryption ,或简称为同态加密,是一种数据加密形式,它允许用户/应用在不解密的情况下对加密数据进行数学计算,从而保持数据的隐私不受侵犯。虽然同态加密的概念早在 1978 年就已经存在,在 2009 年首次在实践中实现,但由于其复杂性、高级加密技术以及缺乏开源代码和公共文档,一直以来它并没有在软件中被广泛采用。

同态加密在如今个人隐私数据越发得到重视的时候,非常有意义,这是一个值得关注的方向。

有黑客用 Game Boy 掌机挖比特币,预计需要数百万年

一位黑客因为买不到显卡挖矿,于是决定改造自己的 Game Boy 掌机来挖矿。Game Boy 只有 4.19 MHz 主频的 CPU,8KB 视频缓存,而且不支持联网。于是黑客通过树莓派 Pico 微控制器将 Game Boy 与计算机连到了一起。他在 PC 端下载了完整的比特币节点,为 Game Boy 打造了一个定制的挖矿固件。此外还修改了一款名为 ntgbtminer 的挖掘程序,以将挖矿计算分发到 Game Boy 上,而不依赖于 PC。

最终得到结果是 Game Boy 约有每秒 0.8 的哈希算力。作为对比,专用的 ASIC 矿机,哈希算力约为每秒 125 万亿。大约需要数百万年时间,Game Boy 就可以挖出一个新的比特币区块了。

实在是太有创意了!不过,如果要是在 BTC 创始初期,Game Boy 没准还真能挖出一两个区块的。

PHP 的 Git 服务器被黑客攻击,源码库被添加后门

昨天,PHP 团队在自己维护 Git 服务器上的仓库中被推送了两个恶意提交。这两个提交声称是修正文字输入错误,但实际上是植入了后门以实现远程代码执行,并且攻击者伪造了签名,让人以为这些提交是由 PHP 的创始人和另外一位维护者提交的。

据分析,这次恶意活动是由于 PHP 的 Git 服务器被入侵导致的,而不是开发者个人的 Git 账户被入侵。作为此次事件后的预防措施,PHP 维护人员决定将 PHP 官方源码库迁移至 GitHub。GitHub 上的 PHP 仓库,以前只是镜像,现在将成为正规来源,从现在开始,任何代码修改都要直接推送到 GitHub 上。

很多开源软件开发组织基于传统会自己维护代码管理基础设施,但是如果没有专门的人员和力量来保证其安全,反而带来了不必要的安全风险。

Google 安全团队破坏了美国政府黑客的行动

Google 安全团队本月中旬披露,一个顶尖黑客组织在 9 个月内利用了至少 11 个 0day 漏洞。该组织利用的漏洞被修复之后它会迅速改用另一个 0day。结果这个所谓的顶尖黑客组织被发现就是美国政府黑客,Google 的行动终止了政府黑客们的“反恐行动”。Google 内部对此举有不同的看法。

这是大水冲了龙王庙了啊~

IonQ 宣称打造了迄今最强大的量子计算机

IonQ 今日宣布,其已推出“具有 32 个完美的量子比特、且门误差相当低”的最新款量子计算机。参考 IBM 首选的量子基准测试,IonQ 有望达成 400 万的量子体积,因而可将之视作迄今最强大的量子计算机。该公司将当代硬件的量子比特从 11 位提升到了 32 位。不过更重要的是,他们提升了使用全部 32 个量子比特所需的保真度。根据不同应用,客户需要 80~150 个之间的高保真量子位和逻辑门才能体现量子优势。IonQ 的目标是让量子比特数年均至少翻一番。

来源:cnbeta

拍一拍:虽然还距离实用尚有距离,但是量子技术的进步也太快了。

Sourcegraph:开发人员现在管理的代码比 2010 年多 100 倍

Sourcegraph CEO 接受媒体采访时表示,一个典型的组织或开发人员管理的代码量在过去十年中出现增长这并不奇怪,超一半的被调查开发者报告增长(以兆字节计算)超过了一百倍,大部分都来自于所使用的平台和工具的多样性的增加。

来源:cnbeta

拍一拍:代码会越来越庞大复杂,必然会出现更好的管理工具,跟不上时代人类程序员,只能将工作交给 AI 来编程和管理。

PHP 8.0 RC1 发布

PHP 8.0 继续提升性能,引入了 PHP JIT 和其他优化,现在 PHP 已经是一头与 PHP 5.x 的迟钝时代截然不同的野兽了。PHP 8.0 还将 JSON 支持引入 PHP 核心而不是可选的扩展,改进了 GD 图像库、OpenSSL 加密消息语法支持、Zip 改进,以及其他无数的增强功能。预计 11 月底左右完成一般可用性版本。

来源:cnbeta

拍一拍:PHP 的活力十足,不再是当年那个橡皮小鸭子了。

PHP 是最流行的开源通用脚本语言,被广泛用于 Web 开发。它是 LAMP 栈应用程序套件的一部分,用于创建动态网站。流行的 CMS 应用程序 WordPress,Joomla 和 Drupal 都是用 PHP 语言开发的。这些应用程序的安装和配置都需要 PHP 7。PHP 7 可以更快地加载你的 Web 应用程序,并消耗更少的服务器资源。

在默认情况下,CentOS/RHEL 6 操作系统在其官方存储库中提供 PHP 5.3,而 CentOS/RHEL 7 则提供 PHP 5.4。

在本文中,我们将向你展示如何在 CentOS/RHEL 7 和 CentOS/RHEL 6 系统上安装最新版本的 PHP。

这可以通过在系统中添加必要的 附加第三方 RPM 存储库 来完成。

方法-1:如何使用软件集合存储库(SCL)在 CentOS 6/7 上安装 PHP 7

现在,SCL 存储库由 CentOS SIG 维护,该组织不仅重新构建了 Red Hat Software Collections,还提供了自己的一些其他软件包。

它包含各种程序的较新版本,这些程序可以与现有的旧软件包一起安装,并可以使用 scl 命令调用。

要想在 CentOS 上安装软件集合存储库(SCL),请运行以下 yum 命令

# yum install centos-release-scl

运行以下命令可以验证 SCL 存储库中可用的 PHP 7 版本:

# yum --disablerepo="*" --enablerepo="centos-sclo-rh" list *php

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
centos-sclo-rh: centos.mirrors.estointernet.in
Available Packages
php54-php.x86_64                    5.4.40-4.el7                 centos-sclo-rh
php55-php.x86_64                    5.5.21-5.el7                 centos-sclo-rh
rh-php70-php.x86_64                 7.0.27-2.el7                 centos-sclo-rh
rh-php71-php.x86_64                 7.1.30-2.el7                 centos-sclo-rh
rh-php72-php.x86_64                 7.2.24-1.el7                 centos-sclo-rh

运行以下命令可以从 SCL 中安装 PHP 7.2 到你的系统中:

# yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php

如果需要为 PHP 7.2 安装其他模块,则可以通过运行以下命令格式来安装它们。 例如,你可以通过执行以下命令来安装 gdpdo 软件包:

# yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php-gd rh-php72-php-pdo

方法-1a:如何使用软件集合存储库(SCL)在 RHEL 7 上安装 PHP 7

对于 Red Hat 7,启用以下存储库以安装最新的 PHP 7 软件包:

# sudo subscription-manager repos --enable rhel-7-server-extras-rpms
# sudo subscription-manager repos --enable rhel-7-server-optional-rpms
# sudo subscription-manager repos --enable rhel-server-rhscl-7-rpms

运行以下命令从 RHSCL 库中搜索可用的 PHP 7 版本:

# yum search rh-php*

运行以下命令,你可以轻松地从 RHSCL 存储库中把 PHP7.3 安装到你的 RHEL 7 计算机上:

# yum install rh-php73

方法-2:如何使用 Remi 存储库在 CentOS 6/7 上安装 PHP 7

Remi 存储库 存储和维护着最新版本的 PHP 软件包,其中包含大量的库,扩展和工具。 有一些是从 Fedora 和 EPEL 反向移植的。

这是 CentOS 社区认可的存储库,它不会修改或影响任何基础软件包。

作为前提条件,如果你的系统上尚未安装 EPEL 存储库,该操作会首先安装它。

你可以轻松地从 Remi 存储库中找到可用的 PHP 7 软件包版本,因为它会为每个版本添加一个单独的存储库。 你可以使用 ls 命令 查看它们:

# ls -lh /etc/yum.repos.d/remi-php*

-rw-r--r--. 1 root root  456 Sep  6 01:31 /etc/yum.repos.d/remi-php54.repo
-rw-r--r--. 1 root root 1.3K Sep  6 01:31 /etc/yum.repos.d/remi-php70.repo
-rw-r--r--. 1 root root 1.3K Sep  6 01:31 /etc/yum.repos.d/remi-php71.repo
-rw-r--r--. 1 root root 1.3K Sep  6 01:31 /etc/yum.repos.d/remi-php72.repo
-rw-r--r--. 1 root root 1.3K Sep  6 01:31 /etc/yum.repos.d/remi-php73.repo
-rw-r--r--. 1 root root 1.3K Sep  6 01:31 /etc/yum.repos.d/remi-php74.repo

运行以下命令,你可以轻松地从 Remi 存储库中把 PHP7.4 安装到你的 CentOS 6/7 计算机上:

# yum --disablerepo="*" --enablerepo="remi-php74" install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo

方法-2a:如何使用 Remi 存储库在 RHEL 7 上安装 PHP 7

对于 Red Hat 7,请安装以下存储库以安装最新的 PHP 7 软件包。

在 RHEL 7 上安装 EPEL 存储库:

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

在 RHEL 7 上安装 Remi 存储库:

# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

启用可选的 RPMS 存储库:

# subscription-manager repos --enable=rhel-7-server-optional-rpms

运行以下命令,可以轻松地从 remi 存储库中,把 PHP 7.4 安装在 RHEL 7 系统上:

# yum --disablerepo="*" --enablerepo="remi-php74" install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo

要验证 PHP 7 的安装版本,请运行以下命令:

# php -v

PHP 7.4.1 (cli) (built: Dec 17 2019 16:35:58) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

方法-3:如何使用 IUS 社区存储库在 CentOS 6/7 上安装 PHP 7

IUS 社区存储库是 CentOS 社区批准的第三方 RPM 存储库,其中包含 PHP、Python、MySQL 等软件的最新上游版本,以及用于 Enterprise Linux(RHEL 和 CentOS)5、6 和 7 的软件包。

IUS 社区存储库 与 EPEL 存储库具有依赖性,因此我们必须在安装 IUS 存储库之前先安装 EPEL 存储库。 请按照以下步骤将 EPEL 和 IUS 社区存储库安装并启用到 RPM 系统,然后再安装软件包。

EPEL软件包包含在 CentOS Extras 存储库中,并默认启用,因此,我们可以通过运行以下命令来安装它:

# yum install epel-release

下载 IUS 社区存储库的 Shell 脚本如下:

# curl 'https://setup.ius.io/' -o setup-ius.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1914  100  1914    0     0   6563      0 --:--:-- --:--:-- --:--:--  133k

安装/启用 IUS 社区存储库:

# sh setup-ius.sh

运行如下命来检查 IUS 存储库中可用的 PHP 7 版本:

# yum --disablerepo="*" --enablerepo="ius" list *php7*

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Available Packages
mod_php71u.x86_64                                    7.1.33-1.el7.ius                       ius
mod_php72u.x86_64                                    7.2.26-1.el7.ius                       ius
mod_php73.x86_64                                     7.3.13-1.el7.ius                       ius
php71u-bcmath.x86_64                                 7.1.33-1.el7.ius                       ius
php71u-cli.x86_64                                    7.1.33-1.el7.ius                       ius
php71u-common.x86_64                                 7.1.33-1.el7.ius                       ius
php71u-dba.x86_64                                    7.1.33-1.el7.ius                       ius
php71u-dbg.x86_64                                    7.1.33-1.el7.ius                       ius
php71u-devel.x86_64                                  7.1.33-1.el7.ius                       ius
php71u-embedded.x86_64                               7.1.33-1.el7.ius                       ius

运行以下命令你可以轻松地从 IUS 存储库中安装 PHP 7.3 到你 CentOS 6/7 系统上:

# yum --disablerepo="*" --enablerepo="ius" install php73-common php73-cli php73-gd php73-gd php73-mysqlnd php73-ldap php73-soap php73-mbstring

via: https://www.2daygeek.com/install-php-7-on-centos-6-centos-7-rhel-7-redhat-7/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:gxlct008 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

微软将在 Windows 中放弃对 PHP 的支持

PHP 8.0 将于 11 月发布,但当这个重要的新版本出现时,Windows 将不支持它,原因未知。该公司表示,在 PHP 7.2、7.3 和 7.4 版本的生命周期内,Windows 将继续为其准备错误修复和安全补丁。但当今年晚些时候发布最新版本时,微软将“不为 8.0 及以后的版本以及以任何方式支持 PHP for Windows”。

来源:cnBeta.COM

拍一拍:希望这个决定只是基于用户数量缺乏的考虑。

想替代 C 的 Zig 语言成立了基金会

Zig 语言官方宣布成立 Zig 软件基金会(Zig Software Foundation,ZFS),致力于促进、保护和推进 Zig 编程语言,支持并促进多元化和国际化的 Zig 开发者社区的发展。Zig 是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。

来源:开源中国

拍一拍:C:“想取代我的多呢……”

因被黑客滥用 Mozilla 宣布暂停 Firefox Send 文件共享服务

Firefox Send 服务于 2019 年 3 月上线。Firefox Send 在恶意软件社区得到了更广泛的应用。恶意软件作者在 Firefox Send 上传恶意软件的有效文件,这些文件以加密格式存储,然后黑客在给客户的电子邮件中分享该链接。

来源:cnBeta.COM

拍一拍:确实很难防范被滥用,“自由”的代价。