错误处理

========================================================
Squid常见错误
1) squid 配置:Unable to open configuration file: c:/squid/etc/squid.conf
解决:squid -f ../etc/squid.conf

2) abnormal program termination
解决:
先 squid -f ../etc/squid.conf -z (生成高速缓存的目录)
然后 squid -f ../etc/squid.conf
原因:squid的默认安装路径是c:/squid 所以最好还是安装在c:/squid 下
相同的是,lighttpd也存在同样问题====================================================
PHP常见错误:
问题1:PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0

解决:
extension=php_xdebug.dll 改成
zend_extension_ts="C:/AppServ/php5/ext/php_xdebug.dll"
注:Xdebug 和 ZendOptimizer 有冲突
----------------------------------------------------------------------------
问题2:PHP startup : Unable to load dynamic library 'xxx.dll' - 找不到指定的模块
解决:把PHP安装目录加到环境变量中,重启电脑
--------------------------------------------------------------------------
问题3:Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly
解决:
将php.ini中的session.auto_start的值改为1(启动),默认是0(禁用),
在php的目录建立个文件夹tmp(如C:/php/tmp),设置tmp属性为ervery one完全控制。
在php.ini找到session.save_path 这一行,设成session.save_path = "C:/php/tmp"把分号去掉

再把php目录下的php5ts.dll,libmysql.dll复制到目录 c:/windows/system32下.
如果没把libmysql.dll复制到system32下.把php5/ext目录下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件复制到c:/windows/system32下
如果没有加载 php_gd2.dll  php将不能处理图像.没有加载php_mysql.dll php将不支持mysql函数库
php_mbstring.dll在后面使用phpmyadmin时支持宽字符
-----------------------------------------------------------------------------------------------
问题4:session丢失原因
原来是 session.cookie_path = “/”  的设置错误,不知道是哪位老兄把服务器端配成
session.cookie_path = “/temp”

实际上
session.use_trans_sid = “1″
可以透明传输sessionid,不过显然不太美观。而且实际效果不如人意。

----------------------------------------------------------------------------------------------
问题5:Cannot modify header information - headers already sent by错误解决办法
解决:

方法一:
在PHP里Cookie的使用是有一些限制的。
1、使用setcookie必须在<html>标签之前
2、使用setcookie之前,不可以使用echo输入内容
3、直到网页被加载完后,cookie才会出现
4、setcookie必须放到任何资料输出浏览器前,才送出
.....
由于上面的限制,在使用setcookie()函数时,学会遇到 "Undefined index"、"Cannot modify header information - headers already sent by"…等问题,解决办法是在输出内容之前,产生cookie,可以在程序的最上方加入函数 ob_start();

ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
方法二:
解决Warning: Cannot modify header information - headers already sent by ......

前几天装了个php的大头贴系统测试,发现报错Warning: Cannot modify header information - headers already sent by ......
今天又装openads,还是出现这个问题。怒了。上网找了半天,有人说要在文件开头写上
ob_start();
失败。
后来打开 php.ini 然后把 output_buffering 设为 on 。重起appache,OK。看来这才是解决办法。

特别注意:
如果使用utf-8编码,一定要去掉UTF-8中的BOM,这都是因为utf-8编码文件含有的bom原因,而php4,5都是不支持bom的。去掉bom,可以用Notepad++打开转换一下。切记,切记,切记!(这问题害我折腾了半天。)

用PHP的ob_start();控制您的浏览器cache  URL:http://hi.baidu.com/dandankai/blog/item/ca628e4448975f81b3b7dc02.html


----------------------------------------------------------------------------------------------
问题6:

========================================================
Mysql常见错误:
问题1:解决The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB'
解决:
MYSQL下创建事务,存储过程,触发器,主外健的时候,数据表的类型必须是InnoDB的,但有的时候MYSQL不支持这种类型,会出现一种错误!
MySQL出现如下语句:The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working;
是mysql配置文件禁掉了这个选项!
关闭mysql数据库,停止MYSQL服务
在mysql的安装目录中找到my.ini文件
找到skip-innodb,在前面加上#号
保存,启动mysql服务!搞定!
======================================================
Python常见错误
======================================================

 

Perl常见错误
问题:.pl apache不可以,但.cgi可以
最后发现:原来test.pl的#!c:/Perl/bin/perl.exe没有放在第一行

总结:好多问题都是因为版本问题,Django升级到1.0以后,改动相当大,但又没有相关文档说明,我也是经过好长时间的搜索才一点点调好!
=======================================================

问题1:IndentationError: expected an indented block

解决:检查缩进

测试文件编辑成下面的样子就行了:
from mod_python import apache
def handler(req):
    req.write("Hello World!")
    return apache.OK
文本缩进要求比较严的!
======================================================
问题2:
源码:
from mod_python import apache
def handler(req):
    req.write("Hello World!")
    return apache.OK
在命令行下提示:
Traceback (most recent call last):
  File "testMyFirstPage.py", line 1, in ?
    from mod_python import apache
  File "C:/Python24/Lib/site-packages/mod_python/apache.py", line 30, in ?
    import _apache
ImportError: No module named _apache
本来以为apahe没整合,后来经网友指点,发现该程序不能在命令行下执行。
======================================
问题3:
AttributeError: module 'D:/webproject/Python/hello.py' contains no 'handler'
apahce配置:
LoadModule python_module modules/mod_python.so <Directory "D:/webproject/Python">
   Options ExecCGI All   
  AllowOverride All   
  ScriptInterpreterSource Registry-Strict
  Order Deny,Allow
  Allow from all
  AddHandler  mod_python  .py .pyc
  PythonPath "['D://webproject//Python'] + sys.path"
  #PythonPath "['D://webproject//Python']"
  PythonHandler hello
  #PythonHandler mod_python
  PythonDebug On
</Directory>
解决:
PythonHandler hello 改成 PythonHandler testMyFirstPage
===============================================
问题4,Python无法访问后台admin。
解决:
urls.py 修改
from django.contrib import admin
admin.autodiscover()
前注释去掉。
修改(r'^admin/(.*)',include('django.contrib.admin.urls'),
为(r'^admin/(.*)', admin.site.root),
原因 :版本
=====================================
问题5:
把自已的APP加到后台管理admin下
解决:

要做用这点,在你的polls文件夹中创建一个文件admin.py,然后把它编辑成这样:Code
from mysite.polls.models import Poll
from django.contrib import admin

admin.site.register(Poll)

======================================

问题6:apache ViewDoesNotExist

解决:把项目路径和项目上一级路径都加入PythonPath ,如:

PythonPath "['D:/webproject/Python/newtest'] + ['D:/webproject/Python/newtest/newtest'] +sys.path"

==============================================

问题7:

用apache运行时,前台样式丢失了

解决:

配置虚拟路径,如下:

Alias /media C:/Python25/Lib/site-packages/django/contrib/admin/media
    <Location "/media">
       SetHandler None
    </Location>

==============================================

问题8:为django项目配置虚拟主机,而不在使用8000端口

解决:附完整例子
<VirtualHost 127.0.0.1>
    DocumentRoot D:/webproject/Python/newtest/newtest
    ServerName newtest.django.shi.com
    ServerAlias newtest.dj.com
    ErrorLog "C:/AppServ/Apache2.2/logs/error_newtest.log"
    CustomLog "C:/AppServ/Apache2.2/logs/access_newtest.log" common
    <Location "/">
        SetHandler python-program
        PythonPath "['D:/webproject/Python/newtest'] + ['D:/webproject/Python/newtest/newtest'] +sys.path"
        PythonHandler django.core.handlers.modpython
        #SetEnv DJANGO_SETTINGS_MODULE newtest.settings_apache
  SetEnv DJANGO_SETTINGS_MODULE newtest.settings
        PythonAutoReload Off
  PythonInterpreter newtest
        PythonDebug On
    </Location>

    <Directory "D:/webproject/Python/newtest/newtest">
     AllowOverride All       
       Order Deny,Allow  
     Allow from all
    </Directory> 

    Alias /media C:/Python25/Lib/site-packages/django/contrib/admin/media
    <Location "/media">
       SetHandler None
    </Location>
    Alias /site_media D:/webproject/Python/newtest/newtest/media
    <Location "/site_media">
       SetHandler None
    </Location>
    Alias /templates D:/webproject/Python/newtest/newtest/templates
    <Location "/templates">
       SetHandler None
    </Location>
    <Directory "C:/Python25/Lib/site-packages/django/contrib/admin/media">
       Options None
       Order Deny,Allow
       Allow from all
    </Directory>
    <LocationMatch "/.(jpg|gif|png|css|js)$">
     SetHandler None
    </LocationMatch>
</VirtualHost>

 

========================================

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值