如何检查Yii2应用程序中的Web进程是否可以写入sqlite数据库文件?

玛丽安(Marian Boricean)

我正在开发一个Yii2应用程序,有时,我用于数据库的Sqlite3文件变成“只读”(由于服务器上发生了其他事情),并且用户遇到了讨厌的PHP异常错误,而不是显示的错误消息。我正在尝试使用“ beforeSave()”函数来检查数据库是否可写,但是我不知道检查Web进程(www-data)是否对其具有写权限的最佳方法。有人有想法吗?我的基本模型具有以下两个功能:

    public function beforeSave($insert)
    {
        if (parent::beforeSave($insert)) {
            // Check if database is writable
            if($this->attemptDBWrite())
                return true;
            else
            {
                \Yii::$app->getSession()->setFlash('error', 'Database is not writable by the application user');
                return false;
            }
        } else {
            return false;
        }
    }

和“ attemptDBWrite()”函数:

    public function attemptDBWrite()
    {
        try {
            $connection = \Yii::$app->db;
            // SOME CODE NEEDED HERE TO CHECK <<<=========
        } catch (\yii\db\Exception $e) {
            \Yii::$app->getSession()->setFlash('error', var_dump($e));
            return false;
        }
    }
努里丁·拉希多夫(Nuriddin Rashidov)
 public function attemptDBWrite()
    {
        try {
            $connection = \Yii::$app->db;
            if (is_writable($database_source_path)) {
                return false;
              }
        } catch (\yii\db\Exception $e) {
            \Yii::$app->getSession()->setFlash('error', var_dump($e));
            return false;
        }
    }

$ database_source_path-是sqlite数据库文件的路径

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以将.NET应用程序直接连接到Sybase SQL Anywhere数据库文件

来自分类Dev

Yii2:检查数据库中是否存在ActiveRecord模型

来自分类Dev

如何使用应用程序复制访问数据库文件?

来自分类Dev

在我的应用程序中升级sqlite数据库

来自分类Dev

Android在SQLite数据库文件中获取Sharedpreferences

来自分类Dev

是否可以从外部连接到Oracle APEX应用程序中的数据库?

来自分类Dev

如何检测sqlite3是否创建了数据库文件?

来自分类Dev

无法从UWP应用的本地数据存储中打开SQLite数据库文件

来自分类Dev

如何在UWP应用程序中的应用程序文件夹之外访问文件(如SQLite数据库)?

来自分类Dev

如何在DB Browser中为SQLite打开sqflite数据库文件?

来自分类Dev

如何在Flutter应用程序中检查Firestore数据库集合是否存在文档?

来自分类Dev

如何连接到sqlite3数据库文件并获取fastapi中的内容?

来自分类Dev

手动删除Web Analytics Service应用程序和报告数据库文件?

来自分类Dev

Yii2:检查数据库中是否存在ActiveRecord模型

来自分类Dev

将数据库文件导入Web应用程序后如何立即管理数据以供查看?

来自分类Dev

如何使用Hibernate检查在多个数据库应用程序中是否正确设置了必要的特权?

来自分类Dev

Android-是否可以使用“ sqlite资产助手”打开从Web服务下载的数据库文件?

来自分类Dev

在检查其他数据库连接时,是否可以通过其他数据库连接来修改Rails应用程序中的模型实例?

来自分类Dev

可以在文件中写入任何数据的应用程序是否对防病毒软件可疑?

来自分类Dev

是否可以在启动服务数据库中查询将打开任意文件或UTI类型的应用程序?

来自分类Dev

从Yii2中的数据库版本检查

来自分类Dev

如何在Java中读取和写入SQLite数据库文件(制作jar文件后)

来自分类Dev

是否可以在Web应用程序中使用SQLite数据库

来自分类Dev

是否可以在Azure中设置可连接到多个本地数据库的Web应用程序?

来自分类Dev

如何从Android程序将SQLite数据库文件上传到FTP服务器

来自分类Dev

是否可以使用数据库优先的Entity Framework 6更新SQLite数据库文件?

来自分类Dev

旧应用程序中的新SQLite数据库

来自分类Dev

如何恢复已删除的SQLite数据库文件?

来自分类Dev

“无法打开数据库文件”。开发 C# 控制台应用程序时是否必须放置 sqlite 数据库的完整物理位置

Related 相关文章

  1. 1

    是否可以将.NET应用程序直接连接到Sybase SQL Anywhere数据库文件

  2. 2

    Yii2:检查数据库中是否存在ActiveRecord模型

  3. 3

    如何使用应用程序复制访问数据库文件?

  4. 4

    在我的应用程序中升级sqlite数据库

  5. 5

    Android在SQLite数据库文件中获取Sharedpreferences

  6. 6

    是否可以从外部连接到Oracle APEX应用程序中的数据库?

  7. 7

    如何检测sqlite3是否创建了数据库文件?

  8. 8

    无法从UWP应用的本地数据存储中打开SQLite数据库文件

  9. 9

    如何在UWP应用程序中的应用程序文件夹之外访问文件(如SQLite数据库)?

  10. 10

    如何在DB Browser中为SQLite打开sqflite数据库文件?

  11. 11

    如何在Flutter应用程序中检查Firestore数据库集合是否存在文档?

  12. 12

    如何连接到sqlite3数据库文件并获取fastapi中的内容?

  13. 13

    手动删除Web Analytics Service应用程序和报告数据库文件?

  14. 14

    Yii2:检查数据库中是否存在ActiveRecord模型

  15. 15

    将数据库文件导入Web应用程序后如何立即管理数据以供查看?

  16. 16

    如何使用Hibernate检查在多个数据库应用程序中是否正确设置了必要的特权?

  17. 17

    Android-是否可以使用“ sqlite资产助手”打开从Web服务下载的数据库文件?

  18. 18

    在检查其他数据库连接时,是否可以通过其他数据库连接来修改Rails应用程序中的模型实例?

  19. 19

    可以在文件中写入任何数据的应用程序是否对防病毒软件可疑?

  20. 20

    是否可以在启动服务数据库中查询将打开任意文件或UTI类型的应用程序?

  21. 21

    从Yii2中的数据库版本检查

  22. 22

    如何在Java中读取和写入SQLite数据库文件(制作jar文件后)

  23. 23

    是否可以在Web应用程序中使用SQLite数据库

  24. 24

    是否可以在Azure中设置可连接到多个本地数据库的Web应用程序?

  25. 25

    如何从Android程序将SQLite数据库文件上传到FTP服务器

  26. 26

    是否可以使用数据库优先的Entity Framework 6更新SQLite数据库文件?

  27. 27

    旧应用程序中的新SQLite数据库

  28. 28

    如何恢复已删除的SQLite数据库文件?

  29. 29

    “无法打开数据库文件”。开发 C# 控制台应用程序时是否必须放置 sqlite 数据库的完整物理位置

热门标签

归档