我遇到了一些使用oci_execute()
带有OCI_DEFAULT
标志的 Oracle 遗留代码。
oci_execute($this->result, OCI_DEFAULT);
但是,此服务器现在运行 PHP > 5.3.2。根据PHP文档:OCI_DEFAULT
自 PHP 5.3.2 (PECL OCI8 1.4) 起已过时,但仍可用于向后兼容。在新代码中使用等效的 OCI_NO_AUTO_COMMIT。
所以我的问题是两部分:
OCI_DEFAULT
PHP < 5.3.2 代表什么?OCI_DEFAULT
在 PHP >= 5.3.2 中使用时的有效模式是什么?(即上面的代码)
在尝试回答第 2 部分时,我希望找到oci_execute_mode()
进行调试。但是,AFAIK 不存在此类功能。从运行脚本开始,它似乎在成功的 PHP 脚本结束时提交(即当连接关闭时)。