问题标签 [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 回答
4187 浏览

php - 返回类型声明 - 致命错误:必须是整数实例,返回整数返回

我想尝试 PHP 7 的返回类型声明(为此我在 windows 上使用 PHP 7RC3)。

想从非常简单的事情开始:

但这给了我一个致命的错误:

致命错误:未捕获的TypeError:getme()的返回值必须是整数的实例,返回整数

然后我也尝试转换返回值,但是 return (integer) 434;还是return (int) 434;给了我同样的错误;

最后我也试过:

结果相同。

我究竟做错了什么?
或者我在这里误解了什么?

感谢您的任何解释和帮助!

更新
这就是为什么我认为我必须使用integer而不是int(托比艾伦特别注意):

来自https://wiki.php.net/rfc/return_types

无效使用示例 (...)

0 投票
1 回答
3738 浏览

mysqli - 在 Raspberry Pi B 上使用 mysqli 安装 PHP 7.0.0RC2

上周我在我的 Raspberry Pi B 上安装了 PHP 7.0.0RC2。我可以查看 PHP 页面,但是,问题是我无法使用 mysqli 连接到数据库(我知道 PHP v7 不再支持 mysql)。

./configure--with-mysqli=shared. 但是,当我使用该命令检查安装了哪些模块时php -m,我没有看到 mysqli。

我尝试添加extension=mysqli.so到 php.ini 文件。它首先抱怨找不到mysqli.so文件,所以我尝试将我的php5版本的mysqli.so复制到extensions文件夹中。但是,这并没有解决问题并导致以下错误消息:

PHP 警告:PHP 启动:无法加载动态库 '/usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysqli.so' - /usr/local/lib/php/extensions/no -debug-non-zts-20141001/mysqli.so:未定义符号:第 0 行未知中的 zval_used_for_init

有人对如何让 mysqli 在我的 Raspberry Pi 上安装我的 PHP7 有任何建议吗?

0 投票
12 回答
315665 浏览

php - PHP 7 RC3: How to install missing MySQL PDO

I am trying to setup webserver with PHP 7 RC3 + Nginx on Ubuntu 14.04 (for test purposes).

I installed Ubuntu in Vagrant using ubuntu/trusty64 and PHP 7 RC 3 from Ondřej Surý (https://launchpad.net/~ondrej/+archive/ubuntu/php-7.0).

I can not find the way to install MySQL PDO (PHP sees PDO class but not anything related to MySQL, like PDO::MYSQL_ATTR_DIRECT_QUERY etc.)

Looks like there is no lib php7.0-mysql (by analogy with standard php5-mysqlnd and php7.0-fpm etc. from Ondřej)

Section PDO in phpinfo():

How can I get it?

0 投票
0 回答
1328 浏览

soap - SoapClient 无法打开本地 WSDL (nginx, php7-fpm)

我正在运行 nginx 和 php7-fpm,并且在 SoapClient 接受本地 wsdl 文件时遇到问题。我使用本地文件(如 /api/backend/server/reservation/reservation_v012.wsdl),但收到 502 Bad Gateway 错误。当我使用“文件:/”时,我收到一个错误“无法加载外部实体”。

__getTypes() 不提供任何类型。调用 __getTypes() 时,502 Bad Gateway 错误恰好发生在此位置。

知道为什么它不像以前使用 PHP 5.3 那样运行吗?

0 投票
1 回答
3335 浏览

php - Apache2,pthreads。致命错误。pthreads 不支持 apache2handler SAPI

我的 ubuntu 上有 apache2 网络服务器。我需要安装pthreads,所以我从rep(复制到/ext/)克隆了一个php7和pthreads的源代码。我为php安装了所有库,然后我跑了

./configure --prefix=/usr --with-config-file-path=/etc --enable-bcmath --enable-calendar --enable-cli --enable-debug --enable-dba --enable- exif --enable-ftp --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-pcntl --enable-shmop --enable-soap --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-zip --enable-maintainer-zts --with-freetype-dir=/usr/local/opt/freetype -- with-openssl --with-gd --with-gettext=/usr/local/opt/gettext --with-iconv-dir=/usr --with-icu-dir=/usr --with-mhash --with -jpeg-dir=/usr/local/opt/jpeg --with-kerberos=/usr --with-libedit --with-mhash --with-png-dir=/usr/local/opt/libpng --with -zlib=/usr --with-apxs2=/usr/bin/apxs--libexecdir=/usr/local/php7/7.0.0/libexec --with-bz2=/usr --enable-fpm --with-fpm-user=_www --with-fpm-group=_www --with -curl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mcrypt --enable-pthreads

它完成得很好,我执行了“make”和“make install”。然后我在控制台中执行了下一个命令:

通过这种方式,我得到了带有 php7 的 apache2,但它并没有启动并为我提供日志:

PHP致命错误:第0行未知中的pthreads不支持apache2handler SAPI PHP致命错误:无法在第0行未知中启动pthreads模块未知(0):致命错误-pthreads未知(0)不支持apache2handler SAPI ) : 致命错误 - 无法启动 pthreads 模块

如果我在没有 --enable-pthreads 的情况下配置 php7,它可以工作。我执行了 phpinfo() 并得到了结果。

我怎么解决这个问题?

0 投票
1 回答
10799 浏览

php - PHP Parse 错误:语法错误,意外 ':',期待 ';' 或者 '{'

我正在尝试使用 php7。我已经安装了https://github.com/rlerdorf/php7dev并通过 phpstorm 连接。我正在尝试使用这样的新功能:

然后我尝试像这样测试它:

我用phpunit启动,不幸的是我有

PHP Parse 错误:语法错误,意外 ':',期待 ';' 或者 '{'

可能我没有正确安装 php7 但是当我 php -v 似乎没问题

PHP 7.0.0-dev (cli) (built: May 25 2015 16:34:33) (DEBUG) 版权所有 (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Zend OPcache v7.0.6-dev 技术,版权所有 (c) 1999-2015,Zend Technologies

更新

问题不在于安装/配置php7(我认为),因为当我像这样从cli运行它时:

输出int(0)并且没有错误。

所以也许问题出在phpunit上?

0 投票
3 回答
31225 浏览

dll - php 7 无法初始化 sqlsrv

我整天搜索以找到 php 7 VC14 x64 线程安全上的 sqlsrv dll 的解决方案,但我没有找到解决方案。有没有人解决这个问题:

这是我的 php7 RC4 信息:

0 投票
2 回答
8249 浏览

php - PHP7 中的标量和严格类型是性能增强功能吗?

从 PHP7 开始,我们现在可以使用标量类型提示并在每个文件的基础上要求严格类型。使用这些功能是否有任何性能优势?如果是,如何?

在互联网上,我只发现了概念上的好处,例如:

  • 更精确的错误
  • 避免不必要的类型强制问题
  • 更多语义代码,避免使用他人代码时的误解
  • 更好的 IDE 代码评估
0 投票
2 回答
2823 浏览

laravel - 有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?

我在新的 Homestead php7 盒子上加载了 Laravel/Lumen 并遇到了这个错误:

做一个phpinfo();显示没有 memcached 扩展,但sudo service memcached status说 memcached 正在运行。似乎这里有一个用于 memcached 的 php7 分支:https ://github.com/php-memcached-dev/php-memcached/tree/php7

谁能指导我如何让它在新的 php7 Homestead VM 中工作?

编辑:我刚刚在宅基地安装文档上看到它说“Memcached(仅限 PHP 5.x)”。关于如何使其工作的问题仍然存在。

0 投票
1 回答
5591 浏览

php - 如何在本地 WAMP 服务器上安装不同版本的 PHP(7 和 5.6)

目前我已经在我的本地 windows 7 机器 (x64) 上安装了 PHP 5.6。我已经手动安装了 PHP、Apache (2.4)、MySQL 并将它们配置为构建我的开发服务器。

现在,我想学习和测试 PHP 7,因此我想从http://windows.php.net/qa/安装它并以这样的方式配置它,以便我可以轻松地在 PHP 5.6 和 7 之间切换。

不幸的是,我找不到任何关于此的明确信息。

我正在寻求帮助来设置我的开发环境,以便我可以使用多个版本的 PHP,包括最新的 PHP 7 RC。