Before I try to explain my problem, I would like to point out that I'm aware that there's a ton of posts related to the this problem.
There is one in particular that was helpful but it didn't solve my problem....
http://drupal.org/node/49694

I've been trying to figure this one out for a day and a half and I'm out of ideas...

So here it is... I exported my database from dev site (Unix / serverA), downloaded all modules & mytheme folder...
I installed a fresh copy of D6.9 on my serverB (Windows)... I imported all my modules and mytheme folder... afterward, I imported my database via phpmyadmin.... a confirmation tells me that the import was successful....

After checking my site on serverB, everything looks/works well until I try to edit anything...
And this is the error I get:


...\vhosts\site.com\httpdocs\sitex\includes\database.mysql.inc on line 128

Warning: Cannot modify header information - headers already sent by (output started at ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc:461) in ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc on line 619

Warning: Cannot modify header information - headers already sent by (output started at ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc:461) in ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc on line 620

Warning: Cannot modify header information - headers already sent by (output started at ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc:461) in ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc on line 621

Warning: Cannot modify header information - headers already sent by (output started at ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc:461) in ...\vhosts\site.com\httpdocs\sitex\includes\bootstrap.inc on line 622

Based on the instructions from this post: http://drupal.org/node/49694, I added the "error printing code"... and here's the error with some extra info:


Notice: unserialize() [function.unserialize]: Error at offset 262 of 347 bytes in ...\httpdocs\sitex\includes\bootstrap.inc on line 461

Warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':317:

s:13:"theme_default";		s:4:"site";
s:13:"filter_html_1";		i:1;

s:18:"node_options' at line 1 query: UPDATE a:317:

s:13:"theme_default";		s:4:"site";
s:13:"filter_html_1";		i:1;
s:18:"node_options_forum";	a:1:i:1;s:6:"status";
s:18:"drupal_private_key";	s:64:"fb858ad3074494a223f1a4a82fc210df50fbfa3a2f8ca93b7d039f567ee95cd6";

which points me in a direction but I can't figure out what to do about it.... after searching my db for "filter_html_1"... there's only one table that contains this information: Table variable....

so here it is:

theme_default s:4:"mytheme";
filter_html_1 i:1;
node_options_forum a:1:{i:0;s:6:"status";}
drupal_private_key s:64:"fb858ad3074494a223f1a4a82fc210df50fbfa3a2f8c...
menu_masks a:21:{i:0;i:125;i:1;i:62;i:2;i:61;i:3;i:59;i:4;i:4...
install_task s:4:"done";
menu_expanded a:1:{i:0;s:10:"navigation";}
site_name s:13:"my site name";
site_mail s:24:"myemail@myemail.com";
date_default_timezone s:6:"-14400";
user_email_verification i:1;
clean_url s:1:"1";
install_time i:1232560501;
node_options_page a:1:{i:0;s:6:"status";}
pathauto_node_supportsfeeds s:4:"feed";
theme_settings a:1:{s:21:"toggle_node_info_page";b:0;}
drupal_http_request_fails b:0;
css_js_query_string s:20:"dr38EmX6yKgGj0000000";
install_profile s:7:"default";
update_last_check i:1234354999;
file_directory_temp s:23:"sites/default/files/tmp";
pathauto_transliterate b:0;
content_schema_version i:6009;
fieldgroup_schema_version i:6000;
pathauto_modulelist a:3:{i:0;s:4:"node";i:1;s:8:"taxonomy";i:2;s:4:"us...
pathauto_taxonomy_supportsfeeds s:6:"0/feed";
pathauto_taxonomy_pattern s:34:"category/[vocab-raw]/[catpath-raw]";
pathauto_taxonomy_bulkupdate i:0;
pathauto_taxonomy_applytofeeds s:0:"";
pathauto_taxonomy_2_pattern s:0:"";

I can see that there's a problem with "s:18:"node_options' at line 1 query: UPDATE a:317:" but I don't see "node options" in my table: variables... when I compare this table to my original site table, the tables are identical....

also, if this help at all... this is the function in bootstrap.inc that seems to be triggering the error:


function drupal_page_header() {
  header("Expires: Sun, 19 Nov 1978 05:00:00 GMT");
  header("Last-Modified: ". gmdate("D, d M Y H:i:s") ." GMT");
  header("Cache-Control: store, no-cache, must-revalidate");
  header("Cache-Control: post-check=0, pre-check=0", FALSE);
}

Any suggestions, ideas or help is greatly appreciated!

Thanks!

Comments

cog.rusty’s picture

You said "After checking my site on serverB, everything looks/works well until I try to edit anything."

What exactly did you try to edit and how?
Did you add any closing php ?> tag to any module or theme file?
Did you add any empty line before the opening <?php tag of any module or theme file?
Did you use any text editor which adds markup or unicode byte order marks to the text files?

From your description, it seems that the "unserialize" error appeared only after you added the test code, and before that you only had a "headers already sent" error. Is that true?

Also, the "unserialize" error you mentioned is actually a "Notice" and not an error. A "notice" is PHP's way of saying "this code is ugly", and probably refers to the test that you added. Normally PHP's notices should be disabled on a live server, with an error_reporting = E_ALL & ~E_NOTICE line in php.ini.

vasheck’s picture

hi cog.rusty,

thanks for your reply... I think I got it sorted out now... the notice seems to be gone now...

just to explain better if someone runs into this issue... by "edit" I mean selecting a page > clickinga on "Edit" tab > changing text > "Submit"... and the notice appeared only after hitting "submit"....

There's one row that I removed from the Table:variable and I think that fixed it...

INSERT INTO `variable` VALUES ('pathauto_node_supportsfeeds', 'N;');

I did that based on this post:
http://drupal.org/node/167764

I still don't completely understand what's happening there (I see there's no value for the variable, but I have the exact same table on serverA and I'm not getting any warnings there)...

Anyway, I'm glad it's "fixed"... (I hope)...

Thanks for the tip about the error notice on live sites!

bramface’s picture

+1 on this solution!

--
Bram Moreinis
Greenfield Digital
http://greenfielddigital.com

purna_dey’s picture

I am very glad to fix this problem. Thanks a lot! cog.rusty
i have just open the php.in -> enable the [error_reporting = E_ALL & ~E_NOTICE]and disable the [error_reporting = E_ALL] and it works for me.