Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP提交更新时调用C++应用程序的SQLite触发器 我有一个由C++应用程序填充的SQLite数据库。我还在开发一个web界面,允许使用Javascript和PHP进行不同的演示。在任何给定的时间内,只有一个接口打开的实例,但是它将从SQLite文件和C++应用程序在网络中的另一台机器上运行。_Php_C++_Sqlite_Triggers - Fatal编程技术网

在PHP提交更新时调用C++应用程序的SQLite触发器 我有一个由C++应用程序填充的SQLite数据库。我还在开发一个web界面,允许使用Javascript和PHP进行不同的演示。在任何给定的时间内,只有一个接口打开的实例,但是它将从SQLite文件和C++应用程序在网络中的另一台机器上运行。

在PHP提交更新时调用C++应用程序的SQLite触发器 我有一个由C++应用程序填充的SQLite数据库。我还在开发一个web界面,允许使用Javascript和PHP进行不同的演示。在任何给定的时间内,只有一个接口打开的实例,但是它将从SQLite文件和C++应用程序在网络中的另一台机器上运行。,php,c++,sqlite,triggers,Php,C++,Sqlite,Triggers,我希望能够从界面更新几个字段。我可以创建一个触发器,让C++应用程序知道数据何时被更改,但是如果PHP做出了更改,触发器会针对该连接进行攻击,并抛出一个错误,因为在C++代码中定义了回调函数。我尝试为所有涉及的内容启用共享缓存连接,但SQLite触发器仍然无法跨应用程序 是否有一种方法自动通知C++应用程序的更改,或者如果我们继续使用SQLite?< /P>,我是否必须定期轮询数据库? 我能找到的所有文件都表明是后者,但大多数都是模糊的或更古老的,所以我希望有一个我找不到的解决方案。 < P>我

我希望能够从界面更新几个字段。我可以创建一个触发器,让C++应用程序知道数据何时被更改,但是如果PHP做出了更改,触发器会针对该连接进行攻击,并抛出一个错误,因为在C++代码中定义了回调函数。我尝试为所有涉及的内容启用共享缓存连接,但SQLite触发器仍然无法跨应用程序

<>是否有一种方法自动通知C++应用程序的更改,或者如果我们继续使用SQLite?< /P>,我是否必须定期轮询数据库?
我能找到的所有文件都表明是后者,但大多数都是模糊的或更古老的,所以我希望有一个我找不到的解决方案。

< P>我认为当PHP使用SQLite数据库更新内部数据库时,不可能执行一个自己的C++函数,因为PHP正在使用它的内部SQLite库来更新数据库。 所以,除非你想搞乱PHP,并重新编译一个定制的SQLite实现,否则我真的建议你不要这样做,否则你就走运了

备选方案:

您可以在磁盘上查看SQLite文件本身,如果该文件已更新,则可以执行程序。但是,文件系统监视守护程序在网络驱动器上并不能很好地工作

轮询数据库是最安全的选项,它总是有效的,但可能会很慢,特别是因为您可能同时从两个程序打开同一个SQLite文件


无论如何,如果需要从多个地方的PHP程序和C++程序访问数据库,那么可能是使用不同数据库引擎的时候了。

SQLite是不错的,因为我们可以将程序打包为单个可执行文件。我相信你是完全正确的,但我将再给它几天时间,看看是否有人发布了一个解决方案,这样我们就可以避免在任何我们想要运行应用程序的地方安装更重的框架。@chRaithyn好的。可以肯定的是:我是否正确理解了,当PHP客户端请求时,你希望运行一个C++应用程序作为守护进程来计算?C++应用程序总是在启动时存储在数据库中的值的基础上运行计算。此时,它再也不会访问这些。我希望能够修改计算的基础上,用户输入,将通过PHP客户端来。