cost 324 ms
為什么宏“ZVAL_COPY_VALUE(z,v)”似乎在 PHP Internal 中意外工作?

[英]Why the macro "ZVAL_COPY_VALUE(z,v)" seems to work unexpectedly in PHP Internal?

我的問題是關於 HashTable: 調試的 PHP VERSION 是 PHP-7.0.12,當我添加一個新字符串時,我無法找到 zval 的str成員在宏“ZVAL_COPY_VALUE(z, v)”中的更新位置,但是它確實通過 GDB 跟蹤成功更新宏上下文,也就是說Bucket結構中 zva ...

PHP 的“o”序列化格式是干什么用的?

[英]What was PHP's “o” serialization format for?

PHP 7.4 的向后不兼容更改列表包含以下注釋: 序列化 o 序列化格式已被刪除。 由於它從未由 PHP 生成,因此這可能只會破壞手動制作的字符串的反序列化。 (請注意,這里指的是 little- o ,而不是用於 object 序列化的 big- O格式。) PHP 的serialize ...

PHP 中會話名稱的限制是什么?

[英]What are the limits on session names in PHP?

session_name()上的 PHP 文檔說: 它應該只包含字母數字字符; 它應該是簡短的和描述性的(即對於啟用 cookie 警告的用戶)。 ... 會話名稱不能僅由數字組成,必須至少包含一個字母。 否則每次都會生成一個新的會話 ID。 所以很明顯你必須有一些非數字的東西,但不太 ...

如何使用 PHP 擴展覆蓋內部 Zend 函數?

[英]How can I overwrite an internal Zend function with a PHP extension?

希望這不是一個太愚蠢的問題。 我對 C 和 PHP 內部結構相當陌生,但希望了解更多關於它們的信息。 我最近開始研究 PHP 擴展的開發。 在執行原始函數之前,我試圖覆蓋內部函數以執行某些操作。 我在http://www.phpinternalsbook.com/php7/extensions_ ...

將 HashTable 數據從 php.ini 傳遞到擴展方法:損壞的值

[英]Passing HashTable data from php.ini to an extension method: corrupted values

我正在嘗試在擴展方法中使用 PHP (7.4) 擴展,將來自php.ini的設置(如myext.map=key1=val1,key2=val2; )解析為關聯數組。 我希望解析發生在PHP_MINIT_FUNCTION(myext) 。 所以,我聲明了一個 php 設置,未注釋REGISTER_I ...

`zval *retval` 參數和 `zend_call_method` 的 `zval *` 返回值是否相同?

[英]Are `zval *retval` argument and the `zval *` return value of the `zend_call_method` the same?

zend api 方法zend_call_method返回的zval *值是否與傳入的zval *retval參數相同? 我可以看到zend_call_method在zend_interfaces.h中聲明。 我嘗試 grepping 源目錄的定義,但找不到它。 它在哪里定義? 我已經看到一些擴 ...

為什么 php 允許它知道它不允許的無效返回類型聲明?

[英]Why does php allow invalid return type declerations it knows it can't allow?

據我所知,php 有能力阻止在它知道有問題的地方聲明返回類型。 這會導致Fatal error: Clone method Foo::__clone() cannot declare a return type ,這是完全合理的。 但是為什么 php 會允許這樣的事情: 這導致 致命錯 ...

PHP 中 strlen() 函數的源代碼在哪里?

[英]Where is the source code for strlen() function in PHP?

我正在瀏覽php-src/Zend/zend_API.c ,但在 PHP 中的任何地方都找不到strlen()函數的源代碼。 搜索代碼庫並沒有真正的幫助,因為到處都是 libc strlen 。 谷歌搜索也沒有太大幫助。 我嘗試使用Vulcan Logic Dumper擴展來檢查引擎蓋下發生的事情 ...

即使不返回整數,usort (php) 怎么工作?

[英]How come usort (php) works even when not returning integers?

昨天在工作中偶然發現了一段代碼,大概是這樣的: 這在我的腦海中翻轉了幾個開關,因為這只能返回布爾值 true 或 false 而不是 php.net 中明確說明的 0 1 或 -1。 最好的情況 PHP 會將 false 解釋為 0,將 true 解釋為 1。所以一個人(寫這篇文章的同事)可能會 ...

除了破壞 object 之外,mysqli_close() 是否還有其他作用?

[英]Does mysqli_close() do anything other than just destroying the object?

我知道不需要使用mysqli_close() ,因為 PHP 將在腳本完成后破壞 object。 我想知道的是,為什么我們首先在語言中有這樣的 function? 除了破壞 object 之外,它還能做什么? 是否相當於$conn = null; 或unset($conn); ? 由於 C 知識 ...

使用 zend_call_function() 時出現段錯誤

[英]Segfault Error when using zend_call_function()

我正在嘗試使用 PHP 的 Zend 引擎圍繞 PHP class 扭曲 C 庫。 class 的構造函數 function 應該采用一個字符串和一個 function 指針。 我能夠從 __construct arguments 中獲取字符串值並打印它們。 但是,當我獲取 function 並嘗 ...

是什么導致我的測試PHP擴展中這種奇怪的內存損壞?

[英]What is causing this strange memory corruption in my test PHP extension?

最近,我需要一個已編譯信號名稱的列表,以便可以打印漂亮的消息,例如“ Interrupted by SIGINT(2)”。 get_defined_constants()對此不可用,因為它在完全不相關的定義(具有相同的整數值)中混雜了SIGINT , SIGTRAP等。 根據操作系統 ...

PHP中是否有一種方法可以計算嵌套的結構級別?

[英]Is there a way in php to count the nested stucture level?

我正在嘗試一種使用PHP更輕松地調試Cronjob腳本的方法。 無需在服務器上訪問xdebug等。 為此,我想獲得代碼輸入的嵌套結構的數量。 我在代碼中將其稱為NESTING 。 據我所知,至少有兩種方法使用嵌套級別。 破$ n; 可以避免$ n嵌套。 而且goto不允 ...

為什么整數上的in_array嚴格模式比非嚴格模式慢?

[英]Why is in_array strict mode on integers slower than non-strict mode?

我一直認為in_array嚴格模式比非嚴格模式更快或至少速度相同。 但經過一些基准測試后,我發現在搜索整數時,它們之間的執行時間差異很大。 字符串和數組測試表明嚴格模式更快。 為什么? 測試代碼 - (PHP 7.2.1): <?php $array = array_ ...

為什么增加zval的引用計數不起作用?

[英]Why increasing refcount of zval not working?

我在這個給定的代碼之后轉儲運行在PHP版本7.3.5上的zval容器(opcache被激活並且PHP啟用了線程安全): 相應的php.net 文檔示例#3增加zval的refcount它輸出refcount = 2 : 在我的設置(php7.3.5)上,它輸出refcount = ...

哪些 PHP 函數受 allow_url_fopen 影響?

[英]Which PHP functions are affected by allow_url_fopen?

在 PHP 中, allow_url_fopen標志控制遠程 URL 是否可以被各種文件系統函數使用,以訪問遠程文件。 現在建議安全最佳實踐禁用此選項,因為它是潛在的攻擊媒介。 但是,如果禁用該設置,任何依賴此功能才能工作的代碼都將被破壞。 例如,我知道至少有一個 reCaptcha 插件使用fi ...

PHP 根緩沖區中的內容以及如果它大於 10K 會發生什么

[英]What goes in the PHP root buffer and what happens if it gets bigger than 10K

我有一個長時間運行的 PHP 腳本,它似乎存在內存泄漏,這讓我深入研究了 PHP 垃圾收集的工作原理。 我有一些關於它的問題,也許這里有些人對內臟有足夠的了解來回答這些問題。 首先,我想知道哪些特定變量最終出現在根緩沖區中。 它只是頂級項目還是在數組數組中(例如在查詢結果中),該頂級數組中的每個元 ...

如何在C語言中讀取此功能?

[英]How to read this function in C?

在閱讀有關PHP Zend Engine內部的內容時,我遇到了zend_parse_parameters()函數,該函數用作以下代碼 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &number) != SUCCE ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM