PHP使用C语言开发扩展中:zend_parse_parameters方法接收二进制数据时取不到数据
生活随笔
收集整理的這篇文章主要介紹了
PHP使用C语言开发扩展中:zend_parse_parameters方法接收二进制数据时取不到数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
你先在php里
從zend_parse_parameters的使用上沒有發現問題,并且你printf時也沒有報空指針,說明buf確實被賦值了。我覺得你應該檢查一下$packet->GetPacketBuffer()是否返回了一個字符串。
php_printf那一行是不是少了個%d,最后的len沒有打印出來。然后,接收二進制數據你不應該也不能用strlen。
打印參數的時候為空是正常的,因為你傳入的是二進制數據(有NULL)。還有,如果你一定要打印二進制數據,應該用PHPWRITE(buf, len)。看這里http://php.net/manual/pl/inte...
輸出一下他的值吧,擴展部分沒毛病。。
從zend_parse_parameters的使用上沒有發現問題,并且你printf時也沒有報空指針,說明buf確實被賦值了。我覺得你應該檢查一下$packet->GetPacketBuffer()是否返回了一個字符串。
php_printf那一行是不是少了個%d,最后的len沒有打印出來。然后,接收二進制數據你不應該也不能用strlen。
打印參數的時候為空是正常的,因為你傳入的是二進制數據(有NULL)。還有,如果你一定要打印二進制數據,應該用PHPWRITE(buf, len)。看這里http://php.net/manual/pl/inte...
輸出一下他的值吧,擴展部分沒毛病。。
總結
以上是生活随笔為你收集整理的PHP使用C语言开发扩展中:zend_parse_parameters方法接收二进制数据时取不到数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果air4,苹果平板Air 4:轻薄精
- 下一篇: 苹果8p为什么这么保值,苹果8 Plus