问题标签 [php-7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1094 浏览

php-extension - 如何使用新的 Zend API 升级 PHP 函数参数?

我正在开发一个 php 扩展以将其升级到 PHP7,我的问题是关于INTERNAL_FUNCTION_PARAMETERS. 在之前的版本中,它被定义为:

INTERNAL_FUNCTION_PARAMETERS int ht, zval *return_value, zval **return_value_ptr, zval *this_ptr, int return_value_used TSRMLS_DC

在新的zend引擎中,它被定义为:

INTERNAL_FUNCTION_PARAMETERS zend_execute_data *execute_data, zval *return_value

我有一个返回数组的php函数,它看起来像这样:`

我应该如何在没有 hanvig 的情况下获得类似的功能return_value_ptr?我应该使用#define RETURN_ARR(r)吗?,如果是这样,这对性能有何影响?

0 投票
1 回答
7975 浏览

yum - centos7上php7安装错误

参考文档:https ://webtatic.com/packages/php70/

PHP 7.0.0 已于 2015 年 12 月 3 日在 PHP.net 上发布,并且还可以通过 Yum 在其测试存储库中的 Webtatic 上用于 CentOS/RHEL 6.7 和 7.1。

在 php7 安装过程中出现以下错误:

如何在centOS7上安装php7?

0 投票
4 回答
24679 浏览

php - 将 PHP 7 与 WAMP 一起使用

我的操作系统是 Windows 10 Pro x64,我安装了VC14x86 和 x64 软件包。

我添加了一个 php7.0.0 目录wamp/bin/php,复制了文件php.iniphpForApache.iniwampserver.conf修改了这些文件中的目录和 php 扩展名。

有我的wampserver.conf

WAMP 可以正确读取它,因为当我选择 php7.0.0 版本时,Apache httpd.conf 会得到这一行:

路径正确且 dll 文件存在,但 Apache 服务未启动,如果我检查 Apache 扩展,则 php7_module 指示为未找到(红色方块)。

如果我检查 apache 错误日志,唯一报告的是

[2015 年 12 月 8 日星期二 11:02:14.021018] [core:warn] [pid 5008:tid 516] AH00098: pid 文件 C:/wamp/bin/apache/apache2.4.9/logs/httpd.pid 被覆盖——不干净的关机以前的 Apache 运行?

在 WAMP 服务器中成功运行 PHP 7 的人是否知道解决此问题的方法?谢谢你。

0 投票
1 回答
3538 浏览

php - PHP7 cli 与 php-fpm

我在 nginx 后面运行 php,带有 php-fpm 和 cron 任务到 php 二进制文件(/usr/bin/php)。

我发现了一个不一致的地方——当我通过 php 二进制文件和 fpm 运行相同的脚本时,它会输出不同的结果。

注意这仅适用于PHP7。在另一台服务器上,我用 5.6 对其进行了测试,结果是相同的。

这是我发现的。以下脚本:

保存到test.php. 当我通过浏览器(php-fpm)运行它时,会产生:

但是当我从 CLI 执行它时,结果是不同的:

如果没有(对象)强制转换,它就不会发生。另外,如果我用它实例化$arr它就new stdClass()不会发生。

似乎$arr = (object)php7 的引擎将其保存在内存中。

可能是配置问题。有人遇到过或可以解释一下吗?

谢谢。

0 投票
1 回答
1129 浏览

php-7 - PHP 7:同时使用严格和非严格类型提示?

所以 PHP 7 现在有标量类型提示(w00t!),您可以根据 PHP 中的设置将类型提示设置为严格或非严格。Laracasts 使用定义 IIRC 来设置它。

有没有办法在一个文件(如数学库)中对标量进行严格的类型提示,同时在其他地方使用非严格的,而不只是随意更改代码中的设置?

我想通过不烦躁语言设置来避免引入错误,但我喜欢这个想法。

0 投票
3 回答
11944 浏览

yaml - PHP7 中的 PECL yaml

PHP7 中的 pecl yaml 存在一些问题(请参阅下面的错误日志)。我可以看到:https ://pecl.php.net/package/yaml有一些 2.0 的 RC 可以解决这个问题......我目前正在运行命令:

但猜测这不会安装 RC 版本。如何安装 RC?也许有一个参数可以提供..?

我可以谷歌以下解决方案(未经测试)

但我想这将为所有扩展设置一个全局 beta 状态。我只想将此扩展安装为 beta ..


错误日志

0 投票
7 回答
85630 浏览

debian - 如何在 debian 上安装 apcu 作为 php7 扩展

我已经看过这个 ubuntu 教程。 http://thereluctantdeveloper.com/2015/12/quick-and-dirty-php-70-set-up-on-ubuntu-1404-with-apcu

步骤(git clone)之后我不清楚。我的应用程序需要 apcu 扩展程序才能更快地执行。请指导在 debian 上安装 php 7 的 apcu 扩展。

0 投票
3 回答
10832 浏览

yii2 - Yii2 与 PHP 7 兼容吗?

自 PHP 7 发布以来,我计划开始一个使用 Yii2 的新项目。我的问题是,将 PHP 7 与 Yii2 一起使用是否安全?

0 投票
8 回答
63031 浏览

php - 适用于 Windows 的 PHP 7.0 ODBC 驱动程序

我将我的 PHP 5.6.30 ( https://www.apachefriends.org/de/download.html ) 升级到 PHP 7.0 ( https://bitnami.com/stack/wamp/installer )

到目前为止一切正常,当我使用 MySQL 数据库时,它将我的页面的加载时间从 1.2 秒减少到约 300 毫秒。但现在我正在尝试使用以下简单脚本连接到 MSSQL 数据库,该脚本在我的旧安装(PHP 5.6)中运行良好:

但是现在我的日志中有一个错误,上面写着:

[Thu Dec 10 11:55:26.629956 2015] [:error] [pid 260:tid 968] [client ::1:63003] PHP 致命错误:未捕获的错误:调用 C:\Bitnami\ 中的未定义函数 odbc_connect() wampstack-7.0.0-0\apache2\htdocs\test\query.php:11\n堆栈跟踪:\n#0 {main}\n 抛出 C:\Bitnami\wampstack-7.0.0-0\apache2\htdocs \test\query.php 第 11 行

首先我想,我的 php.ini 缺少扩展名,所以我启用了“extension=php_pdo_odbc.dll”

与 5.6 版本中的 php.ini 的不同之处在于启用了扩展名:“extension=php_mssql.dll”。但我在新的 PHP 7.0.ini 中找不到它们

所以我的意图是 odbc 和 PHP 7 还没有现有的驱动程序吗?我在这里找到了一些 Linux 驱动程序: https ://aur.archlinux.org/packages/php7-odbc/

但我需要一些适合我的 Windows 环境的东西。

有没有人有同样的问题并且已经解决了?

感谢和问候多米

0 投票
0 回答
390 浏览

php - readv() 在读取 php://input 时 PROPFIND 请求失败(PHP 7,nginx)

将我的服务器升级到 PHP 7 后,我在当前版本 8.1.1 中运行 ownCloud 时遇到了几个错误。

我试图找出问题所在,然后我回到了Sapi.phpSabre lib。

我写了一个非常小的测试脚本来隔离错误。在使用 PROPFIND 请求运行以下代码时,我在日志中看到错误,并且我没有从 php://input 中获得任何输出。

使用 cURL 请求:

nginx错误日志中的错误:

服务器使用 PHP 5.6 就像一个魅力,我试图在不修改的情况下运行 PHP 7。服务器端的一切都很好,但是这个错误。

我还尝试了解决readv()错误的建议并修改了几个设置,例如: