在PHP扩展中检索php流错误

时间:2017-12-19 05:11:26

标签: php c php-extension

我有一个写文件的PHP扩展,

 stream = php_stream_open_wrapper(file_path, "a", REPORT_ERRORS | IGNORE_URL_WIN, NULL);            
 if (stream == NULL)
 {
    zend_error(E_WARNING, "Fail to open file stream of %s!", file_path);        
 }

上面的代码有时会因Permission Denied错误而失败,我需要通知最终用户。

到目前为止,我可以使用REPORT_ERRORS标志,让PHP直接在流函数中打印错误,

<b>Warning</b>:  Unknown: failed to open stream: Permission denied in <b>Unknown</b> on line <b>0</b><br />
<b>Warning</b>:  Fail to open file stream of /opt/rasp/log/plugin/plugin20171219.log! in <b>Unknown</b> on line <b>0</b><br />

由于PHP中似乎不存在perror / GetLastError之类的函数,因此我无法执行snprintf并构建自定义错误消息

那么如何将这两条消息合并为一条呢? (这更有意义)

0 个答案:

没有答案