问题标签 [php-cpp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 在 PHP-CPP 从 Php::Value 中检索类名
使用 PHP-CPP 为 PHP 做一个小扩展时,我在 C++ 端收到一个包含对象的数组,我需要检索它的类名。对象 Php::Value 看起来没有任何方法。
与我在此扩展中的 HNI 所做的类似: https ://github.com/mcuadros/bson-hni/blob/master/src/encode.cpp#L86
php - 如何让我用 C++ 编写的 PHP 扩展记住全局变量?
我正在使用PHP-CPP库来开发 PHP 扩展。
当我在 C++ 中尝试以下操作时:
PHP中的以下内容:
一切都按预期工作了一段时间,但随后“数字”变量随机重置为零。此外,在 Firefox 中按 CTRL+F5,“数字”变量会再次重置为零。
如何避免“数字”重置?
php - 找不到 php-cpp zend/php.h
我想测试 php-cpp 的可能性,但是在使用“make”时,它会通过“php.h”在我身上丢失:
我该如何解决?我在 osx10.9.3 上,如果相关,我将 xampp 用于 php 项目。php-cpp 的文档http://www.php-cpp.com/documentation/install。
c++ - PHP-CPP 新扩展适用于 cli 'php' 命令,但不适用于浏览器
我正在使用 PHP-CPP 创建一个 php 扩展,其中包含一个从 mysql 解析表的函数。
扩展名.cpp
在编译时,我编辑了 MakeFile 并附加到mysql_config --cflags --libs
编译器命令中以加载 mysql,因此看起来g++ -shared -o extension.so extension.o -lphpcpp mysql_config --cflags --libs
编译工作正常。
我尝试通过使用扩展中定义的函数(ss_parse_table)来测试编译是否真的有效。所以我创建了一个 php 文件:
测试.php
当我运行命令“php /mnt/test/index.php”时,从 CLI 中它工作正常。该命令将输出定义的扩展函数(ss_parse_table)返回的数组,如下所示
但是当我从浏览器浏览它时 http 失败
“未收到数据”(chrome 错误)或“连接已重置”(firefox 错误)
c++ - PHP-CPP C++ 扩展找不到正则表达式
我正在为 PHP 编写 C++ 扩展,并且在我的代码中使用正则表达式。这是一个片段
这不会编译,因为我没有包含代码的所有部分(有很多。)它在这里编译得很好,没有任何错误或警告。当我尝试运行使用此 C++ 代码中的任何内容的测试 php 文件时,它只是失败并给出以下错误。
一旦我删除了引用正则表达式类的方法和代码片段,它就会运行良好(我可以离开包含,它仍然可以工作。)
我使用这些命令行进行编译:
由于正则表达式是 C++11 中标准库的一部分,我想我不必手动链接正则表达式,因为它是在运行时自动完成的,对吧?
有什么我缺少使它与 PHP 一起工作的东西吗?我没有公开任何正则表达式对象,它们只是在我的 C++ 代码中实现目标的一种方式。
php - 添加用于扩展 php 的语法,而不是使用 php-cpp 的库
我对在 php 语法中添加一些特性很感兴趣,而且对我来说很明显它与为该语言编写模块不同。我想知道这需要在 C 语言中编辑资源,该资源可在 php.net 网站上获得,并且自然是 C 编程知识。只是我想做以下事情:
而不是写:
或者在另一个方面,为每个类或函数添加属性,就像在 C# 中一样
实现这种方法的第一步是什么?
centos - cc1plus:错误:无法识别的命令行选项“-std=c++11”
我正在尝试在 centos 6,5 上安装 php-cpp。当我运行命令 make 时,我收到错误:
我应该怎么做才能解决这个问题?我的 g++ 是:
太感谢了!
=== 更新 ====
修复了将 gcc 从 4.4 升级到 4.7
php - php-cpp扩展类arrayaccess返回自引用
我在 php 中使用自定义扩展时遇到问题。我正在为自制对象扩展 Php::ArrayAccess,并且我可以像原生数组一样在 PHP 中使用我的对象。但是,即使我在 offsetGet 的实现中返回对我的对象的引用,我也无法链接运算符 []。我收到此错误:
PHP 致命错误:不能在 ... 中使用 Jq 类型的对象作为数组(myfile.php 在第 0 行)
和要执行的php代码:
谢谢你的帮助 !
php - 无法执行简单的 Hello World PHP 扩展
我正在尝试运行简单的 Hello World PHP 扩展,但是在制作和安装扩展之后,当我想运行测试脚本时,我遇到了以下问题:
我的main.cpp
文件:
这是我的测试脚本:
我受到本教程的启发:http ://www.sitepoint.com/getting-started-php-extension-development-via-php-cpp/
你能帮我做这个吗?在此先感谢您的帮助。
php - 如何在 Windows 上编译 PHP-CPP?
我正在编译PHP-CPP源代码,但在Windows 7中出现错误。但是,在Linux(对于 .so 扩展名)中它工作正常。编译器给出的错误是: collect2.exe [Error] ld returned 1 exit status
注意:我直接使用 PHP-CPP 而不是 PHP 源代码...
错误:mkdir -p shared/common 命令的语法不正确。Makefile:190: 目标“shared_directories”的配方失败 mingw32-make: *** [shared_directories] 错误 1