Menu

PDOStatement::execute(): SQLSTATE[HY000]: General error: 17 database schema has changed

Help
Anonymous
2016-07-24
2018-02-05
  • Anonymous

    Anonymous - 2016-07-24

    Hi everyone,

    I write you because I'm having troubles when I use the following instructions to crawl an huge site:

    $crawler->setWorkingDirectory("/dev/shm/");
    $crawler->setUrlCacheType(PHPCrawlerUrlCacheTypes::URLCACHE_SQLITE);

    If I don´t use this instructions, the script crawls thousands of url but the process is killed by the O.S because It exhausts the memory,but when I use sqlite, the script only crawls 10 url max and the it ends without explanation. I got this error messages when I run my script with sqlite.

    PHP Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: 17 database schema has changed in /var/www/html/crawler/libs/UrlCache/PHPCrawlerSQLiteURLCache.class.php on line 128
    PHP Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: 17 database schema has changed in /var/www/html/crawler/libs/UrlCache/PHPCrawlerSQLiteURLCache.class.php on line 128
    PHP Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: 17 database schema has changed in /var/www/html/crawler/libs/UrlCache/PHPCrawlerSQLiteURLCache.class.php on line 128
    PHP Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: 17 database schema has changed in /var/www/html/crawler/libs/UrlCache/PHPCrawlerSQLiteURLCache.class.php on line 128

    What can I do for fix this?

    Thanks for your help!!!

     
  • Anonymous

    Anonymous - 2016-08-26

    Same here!

     
  • Anonymous

    Anonymous - 2018-02-05

    change /libs/UrlCache/PHPCrawlerSQLiteURLCache.class.php line 273 to

    //if ($this->PreparedInsertStatement == null) {
    

    and line 285 to

    //}
    

    then it works

     

Anonymous
Anonymous

Add attachments
Cancel