7得票1回答
为什么`mysqli_query()`返回null?我该如何找出原因?

在某些情况下,PHP内置函数mysqli_query返回null。这种行为并未在函数文档中提到,因此我尝试深入研究PHP源代码本身发布在GitHub上,以查明为什么有时mysqli_query会返回null。 查询本身似乎不是问题:我以两种不同的方式测试了相关SQL查询: - 在MySQL...

7得票1回答
如何在unset()函数中找到触发垃圾回收的“低内存”和“空闲CPU周期”调用?

我经常发现以下引用被用来解释PHP的unset()不会立即触发"垃圾回收",而是在看到适当时才执行(重点是我的): “unset()正如它的名字所说-取消设置变量。它不会强制立即释放内存。PHP的垃圾收集器将在看到适当时进行处理-故意尽快,在那些CPU周期不再需要的情况下,或者在脚本将要耗尽...

9得票1回答
PHP拒绝在这种简单情况下接受返回类型的原因是什么?

在PHP 7.1.4中,使用严格类型,我有一个简单的面向对象设置,涉及一些接口和一些实现这些接口的类。下面的例子,正如您所期望的那样,可以正常工作。 declare(strict_types=1); interface Loginable { public function login...

9得票1回答
PHP的“o”序列化格式是用来干什么的?

PHP 7.4不兼容的更改列表包含以下注意事项: 序列化 已删除o序列化格式。由于它从未由PHP生成,因此这可能只会破坏手动创建字符串的反序列化。 (请注意,这是指小写字母o,而不是用于对象序列化的大写字母O格式。) 似乎PHP的serialize()函数从未生成过这个,但存在这个注...

133得票41回答
什么是“zend_mm_heap corrupted”的意思?

最近我的应用程序出现了之前从未遇到过的问题。我决定查看Apache的错误日志,结果发现一个错误消息,显示"zend_mm_heap corrupted"。这是什么意思。 操作系统:Fedora Core 8 Apache版本:2.2.9 PHP版本:5.2.6

8得票2回答
PHP扩展中的SEG错误

我写了一个PHP扩展来访问静态库中的函数,我将PHP构建为CGI,一切似乎都正常工作了(经过几天的努力..)。 当所有东西都能够工作时,我非常兴奋,于是重新编译了没有调试信息的PHP。(php_printf("here111"); .... php_printf("sending argum...

12得票1回答
关于PHP 7引用计数的困惑

<?php $s = "foobar"; $t = $s; $u = $s; echo PHP_VERSION . "\n"; debug_zval_dump($s); xdebug_debug_zval('s'); 在 PHP 5.6.16 中运行 在PHP 7....

13得票1回答
为什么在PHP的hash_equals()函数中参数的顺序很重要?

PHP 5.6引入了hash_equals()函数,用于安全比较密码哈希,并防止时间攻击。其签名为: bool hash_equals(string $known_string, string $user_string) 根据文档所述,$known_string和$user_string必须...

9得票3回答
如何使用Eclipse检查PHP函数源代码

我很好奇一些php函数是如何在内部实现的,例如array_values()。 因此,在eclipse中,我控制单击函数名称,它将带我到一个包含函数原型定义但不包含内部源代码的页面。 是否有任何方法可以使用eclipse查看php函数的内部实现?(无论该函数是用php还是c编写的) 如...

28得票1回答
为什么不能从尚未定义的类继承,该类又继承自尚未定义的类?

我研究有关类编译、它们的顺序和逻辑。如果我在一个简单的父类之前声明一个类: class First extends Second{} class Second{} 这将可以正常工作。 查看跨PHP版本的实时示例。 但是如果父类还有一些未声明的父类(extends或implements),例...