PHP的session_start()和require_once起冲突了怎么办?
我是在百度的BAE平台上调试的。。想用BCMS-SDK出个mail效果。。
目前出现了一个问题:
session_start();和require_once ( "Bcms.class.php" ) ;两个语句,不管哪个,只要写在前面,就能运行过去,随后就在后者处卡死。
比如
<?php
echo "01";
$accessKey = '';
$secretKey = '';
$queueName = '';
$host = 'bcms.api.duapp.com';
echo "2";
require_once ( "Bcms.class.php" ) ;
echo "4";
session_start();
echo "3";
输出0124,程序在session_start处挂了,
但
<?php
echo "01";
session_start();
$accessKey = '';
$secretKey = '';
$queueName = '';
$host = 'bcms.api.duapp.com';
echo "2";
require_once ( "Bcms.class.php" ) ;
echo "4";
输出012,程序在require_once处挂了。
更但是,如果我像下面这么写:
<?php
require_once ( "Bcms.class.php" ) ;
session_start();
echo "01";
代码没报错,但打开页面的时候,会提示500错误,服务器直接给挂了。。
为什么,怎么解决? PHP session Baidu?App?Engine require require_once
[解决办法]
session_start(); 前面不能有输出,至于你说的500错误,可以将php错误提示打开就知道哪里出了问题了。
[解决办法]
更但是 以前的代码都违规了:在 session_start(); 前面都有 echo ... 自然要报错的
可以在程序开始处用 ob_start(); 来回避
对于 更但是 的代码,你至少要在本地通过调试
如果没有本地环境,那么先检查文件名 Bcms.class.php 书写是否正确,特别是大小写,在检查文件是否存在
如果都没问题,就贴出他的代码
[解决办法]
equire_once ( "Bcms.class.php" ) ;
session_start();
echo "01";
session_start()前面不能有输出。