0

I modify the site name in variable table using phpmyadmin as below.

s:21:"[email protected]"; to s:21:"[email protected]";

But then when I run cron I get the follwoing message.

Warning: Cannot modify header information - headers already sent by (output started at /public_html/includes/bootstrap.inc:566) in /public_html/includes/bootstrap.inc on line 739

This is just a examle, but if I change something in variable table using phpmyadmin I always get the same error.

When I modify variable table do I need to modify also other tables at the same time ?

4
  • 1
    Not sure if those are related to each other. Are you sure you didn't modify any core files with print etc?
    – Beebee
    Commented Sep 3, 2014 at 9:23
  • 1
    Beebee seems right, if length of string stays unchanged, it should be OK. If it is changed, change number between s: and :". Oh, and please use example.com and example.net as example domains. my-site.com is someone's private site, you know, and my-site.net is commercial. I bet neither is in any way related to you or this problem.
    – Mołot
    Commented Sep 3, 2014 at 9:31
  • 1
    Yes, the string length must match, else change the number of chars value (21). Also, worth truncating the cache table to clear the variable cache after updating the table manually. However, at the end of the day, much better to use variable_set or drush vset to set variables. Commented Sep 3, 2014 at 9:45
  • Oh sorry the example wasn't good so I just edited. I didn't know that the number between s: and :" stands for the string length and it must match. I just tried it again with correct number of the string length and the errors is gone. Thank you. I'll also have a look at variable_set.
    – Sona7
    Commented Sep 3, 2014 at 10:15

1 Answer 1

2

As stated in comments serialized string variable lenght must match the integer prefixed, eg

s:20:"[email protected]";

drush vset is alot better for this kind of adjustements.

That beeing said, for users with drush 4.5 where modifying more complex variables is not available (use variable-set with arrays and objects. Accept JSON via STDIN like cache-set), direct access to database can be handy way to tweak the system. Remember to clear caches after.

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.