Questions tagged «php-7»

PHP 7是PHP 5.6的后继版本,它于2015年12月3日发布。将此标签用于与使用PHP 7开发有关的问题。


12
如何在PHP 7中安装ext-curl扩展?
我已经使用此repo安装了PHP 7 ,但是当我尝试运行时composer install,出现此错误: [package]需要ext-curl *->您的系统缺少所请求的PHP扩展curl。 使用PHP 5,您可以通过运行yumor apt-get install php5-curl命令轻松安装它,但是我找不到如何安装等效的PHP 7。 如何为PHP 7安装ext-curl?
188 php  curl  php-7 

8
PHP 7:缺少VCRUNTIME140.dll
在Windows上启动PHP 7时出现错误。当我php在命令行上运行时,它返回一个带有系统错误的消息框: 该程序无法启动,因为您的计算机缺少VCRUNTIME140.dll。尝试重新安装该程序以解决此问题。 在那之后,CLI是崩溃了。 由于我不想从外部网站安装DLL文件,因此我不知道该如何解决! PHP版本: 7.0.0alpha1 VC14 x64线程安全
168 php  windows  dll  php-7 

5
PHP7:安装ext-dom问题
我在使用PHP7的Ubuntu 16.04服务器上运行laravel 5.4。尝试安装cviebrock/eloquent-sluggable软件包会引发一些错误: pish@let:/home/sherk/ftp/www$ sudo composer require cviebrock/eloquent-sluggable Do not run Composer as root/super user! See https://getcomposer.org/root for details Using version ^4.2 for cviebrock/eloquent-sluggable ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. …

3
PHP7中的可空返回类型
PHP 7引入了返回类型声明。这意味着我现在可以指示返回值是某个类,接口,数组,可调用或新暗示的标量类型之一,对于函数参数而言,这是可能的。 function returnHello(): string { return 'hello'; } 通常,值并不总是存在,并且您可能返回某种类型的值或null。虽然您可以通过将参数的默认值设置为null(DateTime $time = null)来使参数为可空状态,但是似乎没有办法对返回类型执行此操作。确实是这种情况,还是我不知如何找到方法呢?这些不起作用: function returnHello(): string? { return 'hello'; } function returnHello(): string|null { return 'hello'; }

10
不推荐使用mcrypt,替代方法是什么?
根据此处发布的评论,不建议使用 mcrypt-extension 并将在PHP 7.2中删除。因此,我正在寻找一种加密密码的替代方法。 现在我正在使用类似 mcrypt_encrypt(MCRYPT_RIJNDAEL_128, md5($key, true), $string, MCRYPT_MODE_CBC, $iv) 我需要您的意见以最好/最有效的方式对密码进行加密,当然,加密的密码应受PHP 7.xx支持,并且也应可解密,因为我的客户确实希望选择“恢复”密码而不生成新密码之一。

5
PHP 7接口,返回类型提示和自我
更新:PHP 7.4现在确实支持协方差和逆方差,这解决了此问题中提出的主要问题。 我在PHP 7中使用返回类型提示遇到了一些问题。我的理解是,提示: self意味着您打算让实现类返回自身。因此,我: self在接口中使用它来表明这一点,但是当我尝试实际实现接口时,出现兼容性错误。 以下是我遇到的问题的简单演示: interface iFoo { public function bar (string $baz) : self; } class Foo implements iFoo { public function bar (string $baz) : self { echo $baz . PHP_EOL; return $this; } } (new Foo ()) -> bar ("Fred") -> bar ("Wilma") -> bar …


7
PHP 7中的类型提示-对象数组
也许我错过了一些东西,但是是否有任何选择来定义该函数应该具有参数或返回用户对象数组的示例? 考虑以下代码: <?php class User { protected $name; protected $age; /** * User constructor. * * @param $name */ public function __construct(string $name, int $age) { $this->name = $name; $this->age = $age; } /** * @return mixed */ public function getName() : string { return $this->name; } public function getAge() …

11
PHP 7 simpleXML
我正在测试PHP7,最近更新后出现了一个奇怪的问题。默认情况下应启用SimpleXML,并且我的phpinfo页面显示它可用: 但是,这些功能不可用: <?php if (function_exists('simplexml_load_file')) { echo "simpleXML functions are available.<br />\n"; } else { echo "simpleXML functions are not available.<br />\n"; } // result-- NOT available 并且该模块未列出为已加载: ~ $ php -m [PHP Modules] calendar Core ctype curl ... Reflection session shmop sockets SPL standard sysvmsg sysvsem sysvshm tokenizer Zend …
71 php  simplexml  php-7 

7
PHP 7中的“声明……应兼容”静音警告
升级到PHP 7后,日志几乎因此类错误而阻塞: PHP Warning: Declaration of Example::do($a, $b, $c) should be compatible with ParentOfExample::do($c = null) in Example.php on line 22548 如何在PHP 7中使这些错误以及仅这些错误静音? 在PHP 7之前,它们是E_STRICT警告的类型,很容易处理。现在,它们只是普通的旧警告。由于我确实想了解其他警告,因此我不能完全关闭所有警告。 我没有能力重写这些旧版API,甚至没有提及使用它们的所有软件。猜猜是什么,也没有人会为此付出代价。我都不是一开始就开发它们的,所以我不是要怪的人。(单元测试?十年前还没有流行。) 我想尽量避免任何与之func_get_args相似的诡计。 我不是真的想降级到PHP 5。 我仍然想知道其他错误和警告。 有没有一种干净而不错的方法来实现这一目标?

2
为什么在引入属性类型提示时突然出现“初始化前不能访问类型化属性”错误?
我已经更新了类定义,以利用新引入的属性类型提示,如下所示: class Foo { private int $id; private ?string $val; private DateTimeInterface $createdAt; private ?DateTimeInterface $updatedAt; public function __construct(int $id) { $this->id = $id; } public function getId(): int { return $this->id; } public function getVal(): ?string { return $this->val; } public function getCreatedAt(): ?DateTimeInterface { return $this->createdAt; } public …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.