Publisher does not support the Fluid field type. Please do not contact asking when support will be available.
If you purchased an add-on from expressionengine.com, be sure to visit boldminded.com/claim to add the license to your account here on boldminded.com.
Ticket: Unable to bootstrap EE for CLI usage due to Publisher module
Status | Resolved |
Add-on / Version | Publisher |
Severity | Blocker |
EE Version | 27 |
beeplogic
Jun 23, 2013I’m trying to bootstrap EE in a CLI script (cron usage) to pull entries for indexing in Solr.
My script is based off the ExpressionEngine-Bootstrap script found here: https://github.com/rsanchez/ExpressionEngine-Bootstrap
I did have an issue with the module attempting to redirect but I managed to get around that by faking the URL and setting $_SERVER[‘REQUEST_URI’] to ‘/solr.gif’.
The publisher module is now not loading the Publisher_helper_url class:
Fatal error: Call to undefined method Publisher_helper_url::get_referrer_url() in /mnt/Project/public/cms/system/expressionengine/third_party/publisher/libraries/Publisher/Publisher_session.php on line 780
Call Stack:
0.0005 251200 1. {main}() /mnt/Project/public/solr/index.php:0
0.0030 266296 2. Cron::run() /mnt/Project/public/solr/index.php:155
0.0070 269392 3. Cron->execute() /mnt/Project/public/solr/index.php:35
0.0157 496632 4. Solr_Importer_Ee->update() /mnt/Project/public/solr/index.php:72
0.0157 496664 5. Solr_Importer_Ee->_bootstrap() /mnt/Project/public/solr/classes/Solr/Importer/Ee.php:13
0.0558 1717824 6. CI_Controller->__construct() /mnt/Project/public/solr/classes/Solr/Importer/Ee.php:106
0.0561 1718976 7. CI_Loader->ci_autoloader() /mnt/Project/public/cms/system/codeigniter/system/core/Controller.php:51
0.0594 1725616 8. EE_Loader->library() /mnt/Project/public/cms/system/codeigniter/system/core/Loader.php:1047
0.0594 1727600 9. CI_Loader->library() /mnt/Project/public/cms/system/expressionengine/core/EE_Loader.php:142
0.0595 1729792 10. CI_Loader->_ci_load_class() /mnt/Project/public/cms/system/codeigniter/system/core/Loader.php:138
0.0623 1916672 11. CI_Loader->_ci_init_class() /mnt/Project/public/cms/system/codeigniter/system/core/Loader.php:873
0.0634 1919784 12. EE_Core->__construct() /mnt/Project/public/cms/system/codeigniter/system/core/Loader.php:972
0.0634 1919816 13. EE_Core->_initialize_core() /mnt/Project/public/cms/system/expressionengine/libraries/Core.php:37
0.1388 3999928 14. EE_Loader->library() /mnt/Project/public/cms/system/expressionengine/libraries/Core.php:282
0.1388 4001792 15. CI_Loader->library() /mnt/Project/public/cms/system/expressionengine/core/EE_Loader.php:142
0.1389 4003832 16. CI_Loader->_ci_load_class() /mnt/Project/public/cms/system/codeigniter/system/core/Loader.php:138
0.1425 4292256 17. CI_Loader->_ci_init_class() /mnt/Project/public/cms/system/codeigniter/system/core/Loader.php:873
0.1441 4297528 18. EE_Session->__construct() /mnt/Project/public/cms/system/codeigniter/system/core/Loader.php:968
0.1457 4306528 19. EE_Extensions->universal_call() /mnt/Project/public/cms/system/expressionengine/libraries/Session.php:152
0.3707 4888464 20. call_user_func_array() /mnt/Project/public/cms/system/expressionengine/libraries/Extensions.php:241
0.3707 4888896 21. Publisher_ext->sessions_start() /mnt/Project/public/cms/system/expressionengine/libraries/Extensions.php:241
0.5415 7873320 22. Publisher_session->go() /mnt/Project/public/cms/system/expressionengine/third_party/publisher/ext.publisher.php:228
0.5883 7883032 23. Publisher_session->set_url_prefix() /mnt/Project/public/cms/system/expressionengine/third_party/publisher/libraries/Publisher/Publisher_session.php:208
0.5970 7886744 24. Publisher_session->set_language() /mnt/Project/public/cms/system/expressionengine/third_party/publisher/libraries/Publisher/Publisher_session.php:416
0.6035 7888792 25. Publisher_session->get_tracker() /mnt/Project/public/cms/system/expressionengine/third_party/publisher/libraries/Publisher/Publisher_session.php:517
I’ve done this before with expression engine, but not was not using the publisher module. If there are any methods/things to consider when pulling content that would be great to know. Thanks!
BoldMinded (Brian)
Try adding this if line to the top of sessions_end()
beeplogic
I tried you suggestion but it didn’t work, as that method is never called. The fatal error still occurs.
I can get past the error if I change ext.publisher.php, line 225:
if (ee()->publisher_setting->get(‘enabled’) && PHP_SAPI !== “cli”)
My question is whether whether its common to modify a core module file or if you would include this hack/fix in future releases?
BoldMinded (Brian)
oops, you’re right. I forgot go() was called in start, not end.
I’ll include this in the official release, its not uncommon to bootstrap EE for CLI usage.