I changed my tag pair from {exp:safecracker} to correspond with the new docs {exp:channel:form}. I even removed my tag pair and used the Basic Example from the docs with the same results.

A PHP Error was encountered

Severity: Notice

Message: Undefined property: EE::$channel_form_lib

Filename: channel/mod.channel.php

Line Number: 5259

Fatal error: Call to a member function entry_form() on a non-object in /Users/bsartain/Documents/git/whitetailslam/admin/expressionengine/modules/channel/mod.channel.php on line 5259

I noticed some others having similar issues but none with the same error message as above.

Any help would be greatly appreciated!

  • Are you using any 3rd party add-ons that relay on Safecracker, such as Profile:Edit, Zoo Visitor, Freemember, Safecracker Registration, etc? Sep 19, 2013 at 16:58
  • Yes, I'm using Profile:Edit and have already updated to the most recent version. Profile:Edit seems to be working just fine. I've uninstalled and removed Safecracker, should I not have done this? Sep 19, 2013 at 18:17
  • No Safecracker shouldn't exist anymore. When I ran one 2.7 upgrade, I did notice that the safecracker module wasn't removed and the records for safecracker in the extensions, modules and actions tables weren't removed either. You might check for those and clear them out. Also you might check that the version number has been properly updated in config.php Sep 19, 2013 at 18:29
  • I just removed SafeCracker from exp_extensions and exp_modules tables, I'm not aware of anymore tables it resides. I refreshed the CMS and SafeCracker is gone from the list of Modules but still in Extensions status = disabled. Still no luck on the front end. Am I missing anymore tables that could be causing the conflict? Thanks!! Sep 19, 2013 at 18:49
  • I stand corrected and must of overlooked it, but it's still displaying in Modules within the CMS. Which is still odd to me since I've removed the files and deleted from the tables mentioned above. Unless, I'm indeed missing some tables that it still exists in. Sep 19, 2013 at 18:55

3 Answers 3


Ok, I've updated the error-ed line number 5259


return ee()->channel_form_lib->entry_form();


return ee()->channel_form->entry_form();

At the moment everything seems to be working correctly. Hope this helps!

  • I'm running into this problem, wondering if there was a better way to do this rather than hacking a core module? Aug 13, 2014 at 23:22

I had this exact same error when I upgraded to 2.7 as well. For me it was a conflict with using a third party plugin specifically Profile:Edit. When I used any of the profile:edit tags on the same page as a channel:form tag it would throw that error. So I simply used one or the other on my different pages and not both at the same time.

I'm not 100% sure what the exact problem is but I think it has something to do with the $channel_form_lib being called more than once.

  • 1
    Profile:Edit has an updated version to work with 2.7. If you upgrade, the add-on will be able to use the renamed Safecracker library. Sep 19, 2013 at 16:56

When you upgrade EE, installer automatically changes your all templates, but it only changes the templates in database. If you use templates in files, you have to change manually all your templates and replace {safecracker} tags with new {exp:channel:form} tags. Actually you can open the template in control panel, and copy/paste the automatically updated code to the template in file. It took my one night and few more grey hairs :) Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.