标签: php-internals

从PHP扩展获取运行脚本的名称

我正在为PHP编写一个小扩展.有没有办法在运行时知道正在运行的脚本文件(例如:)的名称test.php?也许一些全球或环境变量?

php c php-extension php-internals

1
推荐指数
1
解决办法
480
查看次数

如何使用zend引擎API对类似(int)的值进行类型转换?

我尝试过的:

//...
zend_long dest;
if (UNEXPECTED(!zend_parse_arg_long(arg, &dest, NULL, 0, 0))) {
    zend_verify_arg_error(E_RECOVERABLE_ERROR, zf, arg_num, "be of the type integer", "", zend_zval_type_name(arg), "", arg);
}
zval_ptr_dtor(arg);
ZVAL_LONG(arg, dest);
//...
Run Code Online (Sandbox Code Playgroud)

问题是,如果arg是一个带有格式错误的数字的字符串,就像"10x"引擎引发了一个通知:

Notice: A non well formed numeric value encountered in...
Run Code Online (Sandbox Code Playgroud)

我真正想要的是能够arg像下面的PHP用户态代码一样进行转换:

(int) "10x" // evaluates to 10, no NOTICE
Run Code Online (Sandbox Code Playgroud)

我仍在浏览zend API,所以欢迎任何有关如何找到一个好的(更新的)PHP内部参考或一般建议的帮助.

c php-internals

1
推荐指数
1
解决办法
164
查看次数

PHP中Mysqlnd,PDO和PDO_Mysql扩展之间有什么区别?

他们似乎是同一回事,但又有所不同。我不知道是哪一个:我知道我们可以将PDO用作,new PDO()并使用prepare()query()方法来从数据库中获取数据。因此,如果PDO在扩展列表中提到了这一点,那么pdo_mysql和mysqlnd到底是什么(用外行术语)?

php pdo php-extension php-internals mysqlnd

1
推荐指数
2
解决办法
5382
查看次数

“ PHP编译选项”到底是什么意思?

我在Windows 10家庭单语言64位操作系统上运行的笔记本电脑上使用PHP 7.2.8

我已经使用最新版本的XAMPP安装程序在笔记本电脑上安装了PHP 7.2.8

从PHP手册的phpinfo()函数描述中看到以下文本

输出有关PHP当前状态的大量信息。这包括有关PHP编译选项和扩展的信息,......

从上述《 PHP手册》中的文字中,我没有得到“ PHP编译选项”的确切含义。

phpinfo();通过在笔记本电脑上运行来检查输出。

我只能在输出中看到与编译相关的一行,如下所示:

编译器MSVC15(Visual C ++ 2017)

上一行是不是PHP手册中提到的“ PHP编译选项”或“ PHP编译选项”之外的其他内容?

如果“ PHP编译选项”的意思与我上面提到的相同,那么为什么输出中不多于一个编译选项phpinfo();

php xampp compilation phpinfo php-internals

0
推荐指数
1
解决办法
221
查看次数

由于ZEND_NUM_ARGS()宏而无法构建扩展

我正在编写小的php扩展,并在构建它时遇到问题.代码:

PHP_RINIT_FUNCTION(pstat)
{
    int argc = ZEND_NUM_ARGS();
    return SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

on make出错了:

.... /ext/pstat/pstat.c:122:31: error: 'ht' undeclared (first use in this function)
Run Code Online (Sandbox Code Playgroud)

ZEND_NUM_ARGS()是Zend_API.h中的一个宏

#define ZEND_NUM_ARGS()     (ht)
Run Code Online (Sandbox Code Playgroud)

但是'什么'是什么?有任何想法吗?

php c php-internals

-1
推荐指数
1
解决办法
217
查看次数

标签 统计

php-internals ×5

php ×4

c ×3

php-extension ×2

compilation ×1

mysqlnd ×1

pdo ×1

phpinfo ×1

xampp ×1