首页 > TAG信息列表 > php-extension

c-使用zend读取PHP.ini以进行PHP扩展(不是PHP语言)

我正在尝试使用zend从php.ini中读取一些设置.我正在使用的API是 long zend_ini_long(char *name, uint name_length, int orig) 但是它总是返回0.我仔细检查了名称,并确保我在php.ini中指定的值大于0.是否缺少任何内容?解决方法: long maxwait = zend_ini_long("max_execution_ti

PHP Zend Engine扩展和静态方法

在为php(5.3)编写扩展时,我想访问静态方法上的zend_class_entry指针. 在非静态方法上,我可以使用getThis()宏以及在Z_OBJCE_P宏内,如下所示: zend_class_entry ce* = Z_OBJCE_P(getThis()); 现在的问题是: 在静态方法上,getThis()宏返回空指针,因此我不能使用Z_OBJCE_P宏. 有没有人

在php扩展中添加两个共享库.谁?

我有一个sharedlib.cc和一个sharedlib.h代码,其中包含类和方法.我将其包装起来并创建了一个名为MySharedLibrary.so的共享库. 我想在php代码中使用我的.so库.因此,我创建了一个config.m4文件,一个php_code.cc文件和一个php_code.h文件,以使从php扩展成为可能.我不想在config.m4文件

PHP扩展版本不一致;更可靠的方法?

运行以下命令: foreach(get_loaded_extensions() as $name){ $extensions[strtolower($name)] = phpversion($name); } var_dump($extensions); 我注意到某些已加载的扩展名未显示版本,例如,具有false: 'pcre' => boolean false 但是,当我点击phpinfo()时,它显示了一个版本号

PHP 7如何从常规列表中删除资源?

我正在将php扩展名升级到php 7,并且我想使用zend_register_resource删除已在常规列表中注册的资源,稍后再使用zend_list_close关闭该资源.关闭函数如下所示: PHP_FUNCTION(myFunc_cleanAndExit) { zval* rsrc = NULL; ... int res = zend_parse_parameters(

使用Visual Studio 2008在Windows上编译我自己的PHP扩展

我写了一个PHP扩展,它可以在Linux下成功编译并运行.但是在窗户上,我遇到了一些问题. 我使用PHP源代码版本5.2.10在Windows上根据http://blog.slickedit.com/?p=128进行了编译,编译后生成了dll文件.但是,当我尝试使用dll文件时,它在启动Apache(Wamp服务器)时向我报告了内存问题.然后

php-zend_call_method_with_N_params

PHP扩展开发中有zend_call_method_with_0_params,zend_call_method_with_1_params和zend_call_method_with_2_params. 但是如何调用具有两个以上参数的方法?解决方法:我以前的回答是错误的.您必须直接使用zend_call_function.请参见zend_call_method的正文.基本上,您必须首先准备一

Windows下的Phpize

我尝试按照这里的说明进行操作:https://code.google.com/p/php-sweph/wiki/build来编译PHP扩展.我的操作系统是Windows XP. 我找不到“ phpize”来执行命令.但是,我已经安装了Pear for PHP.它仅适用于Linux吗?有没有办法在Windows上使用phpsize进行编译?解决方法:在Windows编译脚本设

在PHP 5.6.12中启用DOTNET COM扩展

在一个PHP项目中,我需要使用DOTNET COM library,但是我看到它已被禁用. 我不知道如何启用它,因此我尝试在[com]部分下的php.ini文件中取消注释以下行: com.typelib_file = php_com_dotnet.dll com.allow_dcom = true pextension=php_com_dotnet.dll com.autoregister_typelib = t

Docker容器中的PHP intl扩展

我正在尝试在Docker容器中加载国际PHP扩展,但似乎无法正常工作. 已经尝试过此https://github.com/docker-library/php/issues/57,但仍然收到相同的错误消息: configure: error: in `/usr/src/php/ext/intl': configure: error: C++ preprocessor "/lib/cpp" fails sanity check See

在PHP扩展中使用PHP函数

在C中创建扩展程序时可以使用explode()之类的PHP函数吗?解决方法:Here it is:PHP_FUNCTION(explode)的these parameters扩展为zif_explode.这是您应该调用的函数. Read this了解更多详情.

php-将cURL添加到OAuth请求引擎支持时出现问题

我最近一直在为我正在处理的Web应用程序设置新的环境,但遇到了以下无法解决的问题. 目前我有一个基于https://hub.docker.com/r/ruslangetmansky/docker-apache-php/的docker-composer设置 我运行API,APP和DB的地方,需要它们彼此对话. 在初始化期间,我目前正在执行以下命令: 命令:bas

PHP启动:无法加载动态库`curl.so` Ubuntu

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/20131226/curl.so’ – /usr/lib/php/20131226/curl.so: undefined symbol: zend_unset_property in Unknown on line 0 我正在使用Ubuntu 14.04 LTS和PHP v5.6 同一台机器php5和php7中还有其他

使用Hiphop进行PHP扩展开发

Hiphop将PHP转换为C代码,有没有人用它来进行PHP扩展开发? 我找到了使用C编写PHP扩展的以下链接 http://devzone.zend.com/article/4486-Wrapping-C-Classes-in-a-PHP-Extension 我想编写一些PHP类并将它们转换为C并在PHP扩展中使用它. 如果有人这样做,请告诉我,也欢迎任何想法.解决

如何为PHP应用程序开发C扩展?

我的PHP应用程序有一个数字运算部分,只是为了减慢PHP,所以我想构建一个自定义的C扩展,但是不可能找到任何好的参考开始:( 是否有关于如何做这样的事情的指南?解决方法:最好的资源,虽然在几个方面已经过时(它只包括PHP到5.1版本),但是Sara Golemon是Extending and Embedding PHP.更为

使用已弃用的homebrew / php在OSX上安装适用于PHP 5.6的PHP扩展

今天我更新了Brew,现在我无法安装php56-extensions. 在我的Mac上安装了“php56”,今天我需要安装“php56-redis”,但是当我尝试安装此扩展时,Brew返回了以下错误消息. $brew install php56-redis Error: No available formula with the name "php56-redis" ==> Searching for a

PHP扩展开发入门

请提出有关PHP“低级”С-modules编程接口的帮助文章或教程.解决方法:搜索我的书签,我发现的链接只有: > Extension Writing Part I: Introduction to PHP and Zend > Extension Writing Part II: Parameters, Arrays, and ZVALs> Extension Writing Part II: Parameters, Arrays, a

内存泄漏与php扩展中的malloc

我做了一个php扩展,看起来像: PHP_FUNCTION(function_name) { ... proc_data = ( char * )malloc(length); ... RETURN_STRINGL( proc_data, length, 1 ); } function_name是php代码中可用的函数,它返回一个字符串.但是这个字符串是使用malloc分配内存的,它会自

从php扩展调用对象构造函数(__construct)

我只是在试验PHP扩展,我想知道在扩展中调用对象构造函数的建议/首选方法是什么. 我已经读过,通过调用object_init_ex函数,不会自动调用该对象的构造函数.从我所做的测试来看,这似乎也是正确的.我们假设我有以下代码,其中’Person’是有效的类名: zend_class_entry *class_entry = N

Elastic Beanstalk在启用ZipArchive的情况下编译php

我需要将我的PHP项目设置为在启用ZipArchive的情况下编译php.我在Elastic Beanstalk上运行php7,需要有关如何编写“.ebextensions”文件来完成此任务的帮助.有人可以帮帮我吗? 谢谢!解决方法:您可以轻松创建. 1.创建一个目录“.ebextensions”; (如果MAC,在你的终端上运行mkdir .ebex

如何修复PHP模块线程安全/非线程安全不匹配?

这超出了错误日志: PHP Warning: PHP Startup: BOPEE Extension: Unable to initialize module Module compiled with build ID=API20090626,TS,VC9 PHP compiled with build ID=API20090626,NTS,VC9 These options need to match in Unknown on line 0 PHP Warning: PHP Sta

是否可以从扩展中调用PHP_FUNCTION

让我详细说明标题.考虑例如PHP_FUNCTION(session_start).我是否能够从session_id中调用session_start,这是另一个PHP_FUNCTION(这只是为了说明而不是实际目的)?解决方法:嗯,是的,但你应该尽可能地避免它.编写函数内部实现的主要好处之一是,与PHP中发生的情况相反,C函数调用很便宜.另

php – 什么是zend扩展?

如果你看this documentation,第一个参数只返回Zend扩展. 与PHP(“简单”)扩展相比,什么是Zend扩展?解决方法:Zend扩展程序挂钩到语言的“较低级别”.单个扩展也可以是PHP扩展和Zend扩展.例如,Xdebug使用Zend扩展组件挂接到语言的较低层以拦截调试调用. Zend扩展是Zend Engine(ZE)本

PHP扩展 – 从另一个PHP函数调用您自己的PHP函数

假设我们有一个自定义PHP扩展,如: PHP_RSHUTDOWN_FUNCTION(myextension) { // How do I call myfunction() from here? return SUCCESS; } PHP_FUNCTION(myfunction) { // Do something here ... RETURN_NULL; } 如何从RSHUTDOWN处理程序调用myfunction()?解决方法:

缺少PHP包括(.h)

我正在尝试为非默认的php二进制位置安装PHP扩展mongodb.我正在使用PECL: sudo pecl install mongodb 经过长时间的记录,我得到了这个 /tmp/pear/temp/mongodb/src/bson.c:29:17: fatal error: php.h: No such file or directory #include <php.h> ^ compilation termi