Facebook PHP SDK and Wordpress Error
Posted
by
Gecko
on Pro Webmasters
See other posts from Pro Webmasters
or by Gecko
Published on 2012-05-30T22:10:46Z
Indexed on
2012/05/30
22:51 UTC
Read the original article
Hit count: 496
I have a developer environment setup with WAMP, Wordpress, and PHPEdit IDE. I use the Facebook, Twitter, and YouTube API's in a sidebar. I'm using Facebook's PHP SDK to display information(no login or admin functions). Since the FB SDK and WP use session_start() I get the following warning:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\dfi\wp-content\themes\DFI\header.php:12) in C:\wamp\www\dfi\wp-content\themes\DFI\api\facebook.php on line 36
I'm trying to figure this out by using the warning output but it doesn't help considering the following. I know about clearing white space and characters before and after <?php ?>
and placing session_start() before any http output. I use unix line enders and UTF8 encoding without BOM. My host server is not set up for output_buffering.
header.php line 11 to 13
11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes();?>>
13 <head>
It looks like the warning comes from inline php code. I don't know what I can do to fix this line.
facebook.php line 34 to 37
34 public function __construct($config) {
35 if (!session_id()) {
36 session_start();
37 }
I don't think I can stop either FB or WP from calling session_start() without breaking everything. How do I make Wordpress and Facebook play nicely together without this error?
© Pro Webmasters or respective owner