文档章节

【PHP】Debug总览表

呢喃的猫咪
 呢喃的猫咪
发布于 2012/11/20 22:57
字数 1812
阅读 84
收藏 0
点赞 0
评论 0

一、MySQL相关

1、mysql error Number 1005之errno150解决

mysql error Number 1005 can't creat table'\test\#sql-640_1.frm'(errno:150)

三种可能问题外键和被引用外键类型不一样,比如integer和double找不到要被引用的列表的字符编码不一样我中的就是第三种情况,在administrator里根本看不出表的字符编码,完全一样的列类型定义就是出现 mysql error Number 1005

can't creat table'\test\#sql-640_1.frm'(errno:150)错误。

主键和外键的字符编码不一致 ,改正对应的数据库存储引擎和字符编码即可!
-----------------------------------------------
CREATE TABLE IF NOT EXISTS T_AREA(
AREA_ID INT(4) NOT NULL AUTO_INCREMENT COMMENT 'ID',
AREA_NAME varchar(20) UNIQUE NOT NULL COMMENT '区域名',
SN varchar(20) UNIQUE NOT NULL COMMENT '区域编号',
PRIMARY KEY (AREA_ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-----------------------------------------------
加上这个ENGINE=InnoDB DEFAULT CHARSET=utf8;  你的不一定是InnoDB 类型!

2、解决 phpMyAdmin 中文乱码的问题

    以下四点即可实现全站utf-8编码,而且在数据库中也不会有中文乱码

  1. 网页文件head设置编码<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  2. PHP页面在保存的时候使用utf-8编码保存,可以用记事本或convertz802转换文件

  3. 在MYSQL中新建数据库的时候数据库 选择utf-8_general_ci字符集为数据库连接校对,以及整理的字符集

    • 库里面 表table的 整理 设置为 utf-8_general_ci

    • 表里面的每个字段的 整理 都设置为 utf-8_general_ci

  4. 在PHP连接数据库的时候,也就是mysql_connect()之后加入

    • mysql_query("set names 'utf8' ");//注意是utf8,不是utf-8

    • 如果你的网页编码是gb2312,那就是 SET NAMES GB2312。但编辑员强烈推荐网页编码、MySQL数据表字符集、PHPmyAdmin都统一使用UTF-8。

    下面有图片显示步骤:

    1、在phpMyAdmin中新建数据库,选择整理以及Mysql连接校对的字符集都调为utf-8_general_ci

    2、下一步我们解决php文件的编码问题,如果你在eclipse中开发php web应用,那么直接右击你的项目名称,出来选项框,选择“属性”一栏,在文件编码中选择utf-8类型,这样你在该项目中新建的文件都继承了utf-8类型。


    3、在每个要显示在页面的文件中的head设置编码<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



    4.在PHP连接数据库的时候,也就是mysql_connect()之后加入 mysql_query("set names 'utf8' ");

    好了~现在你就可以自由输入中文了,页面,数据库中都显示的不是乱码了,解决了~Good Luck

    设置编码的几种方式:

  • phpmyadmin主界面可以设置编码;

  • mysql控制台:

    • 查询 set names 'utf8';

    • 创建数据库 create databases dbname character set utf8;

    • 创建表 create table name()default charset=utf8;

  • 通过配置文件修改:\mysql\db.opt

    • 表编码不指定,默认就是数据库编码,表编码与数据库编码设置一致就不会乱码。


二、外接平台相关

1、【新浪】使用php的CURL函数curl_init初始化一个新的会话时出错

    使用php的CURL函数curl_init初始化一个新的会话时出现以下错误:

    Fatal error: Call to undefined function curl_init() in D:\apache2\htdocs\getinfo.php on line 8

    出现此错误的原因是因为服务器没有配置curl扩展。

    在PHP中配置并开启CURL的方法如下:

  • 在php安装目录下的ext目录里找到 php_curl.dll 文件。

  • 找到php目录下的 libeay32.dll和ssleay32.dll文件。

  • 把php_curl.dll、libeay32.dll、ssleay32.dll 、php5ts.dll复制到 %windir%/system32 (一般是C:\Windows\system32\)下

  • 打开php配置文件php.ini,找到extension=php_curl.dll把前面的分号去掉

  • 重新启动apache或IIS服务即可。

    启动成功后,可以运行phpinfo();函数查看相关php配置信息,找到以下信息,说明CURL配置成功。

三、LAMP相关

问题1:php访问mysql,Call to undefined function mysql_pconnect()

1 、打开mysql拓展。

php.ini里面;extension=php_mysql.dll去掉前面的分号.

2、WINDOWS系统下,需要将PHP/libmysql.dll和php5.dll 拷贝至:windows/system32下。

问题2:nginx站点编码设置

 vi  /usr/local/nginx/conf/nginx.conf

http {
    include       mime.types;
    default_type  application/octet-stream;
    charset  utf-8;
    。。。


问题3:Class 'PDO' not found in ...

 php.ini里面;extension=php_pdo.dll去掉前面的分号.

问题4:PDO中文乱码 

$dbh = "mysql:host=xxx.xxx.xxx.xxx;dbname=xxDB";
$db = new PDO($dbh, 'user', 'password');
$db->exec("SET CHARACTER SET UTF8"); 

问题5:mysql_pconnnect中文乱码

$gaSql['link'] = mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password'] ) or die( 'Could not open connection to server' ); 
@mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary",$gaSql['link']);

问题6:PHP Error Class 'SoapClient' not found

1、安装soap模块 

2、windows下 php.ini  打开 extension=php_soap.dll ,linux 下打开extension=soap.so。

     重启php_cgi 

问题7:PHP Warning:  file_put_contents(/var/www/xxx) : failed to open stream: Permission denied in

文件夹权限问题,用   chmod -R 0777 /var/www 

四、初学遇到的问题

  【1】mysql_query();参数中字段名需要添加引号

    $sql = mysql_query("insert into tb_info(type,title,content,linkman,tel,edate) values
    ('$type','$title','$content','$linkman','$tel','$edate')");
    if ($sql){
        echo "<script>alert('恭喜您,信息发布成功!');window.location.href='release.php';</script>";
    }else{
        echo "<script>alert('对不起,信息发布失败!');history.back();</script>";
    }

  问题说明:关于这个问题,我都不是很明白。最开始,'$type','$title','$content','$linkman','$tel','$edate'都 没有加上引号。zend studio里面也没有提示语法错误,但是运行的时候,总是提示“对不起,信息发布失败!”在网上搜了半天没找到好的方法,还是同事提醒我,在变量前后加 上引号试试。果然加上引号之后,提示“恭喜您,信息发布成功!”呵呵,估计这个是规范写法吧。具体原因我就不清楚了。待研究。

  【2】关于单词拼写问题

  问题说明:这个问题说小不小,说大不大。糟糕的是,我总是很容易忽略。每次运行不成功的时候,我总是找不出拼错的单词,直到同事指出。但奇怪的是,在我写 js脚本或者CSS样式时,很快就能发现错误单词所在,但是一遇到PHP,我就晕菜了。不过,这也说明经验不足,还没有足够的感觉吧。继续努力吧!(不过 我真是数次为这个问题难为情啊,希望自己以后能更仔细!)

  【3】关于当前时间的存储问题

  【4】当mysql数据库的一个表中存在char和varchar两种字段类型且char的长度大于4时,表中的所有char都将自动转换成varchar

     【5】使用php的CURL函数curl_init初始化一个新的会话时出现以下错误

    Fatal error: Call to undefined function curl_init() in D:\apache2\htdocs\getinfo.php on line 8

   出现此错误的原因是因为服务器没有配置curl扩展。

   在PHP中配置并开启CURL的方法如下:

  • 1.在php安装目录下的ext目录里找到 php_curl.dll 文件。

  • 2.找到php目录下的 libeay32.dll和ssleay32.dll文件。

  • 3.把php_curl.dll、libeay32.dll、ssleay32.dll 、php5ts.dll复制到 %windir%/system32 (一般是C:\Windows\system32\)下

  • 4.打开php配置文件php.ini,找到extension=php_curl.dll把前面的分号去掉

  • 5.重新启动apache或IIS服务即可。

    启动成功后,可以运行phpinfo();函数查看相关php配置信息,找到以下信息,说明CURL配置成功。


© 著作权归作者所有

共有 人打赏支持
呢喃的猫咪

呢喃的猫咪

粉丝 133
博文 121
码字总数 300412
作品 0
杭州
程序员
PHP的if性能问题求教

【PHP】求教针对于单个HTML页面内多个IF if(i==1){ }else{ } 和 if(i==1): else: endif; 是否有性能差异?

许添翼 ⋅ 2015/07/03 ⋅ 4

Postman Fiddler使用手册

本文主要讲解没有什么主要的内容,主要是一些网上的Postman和fiddle教程,本人亲自测试和阅读过,以下是一些链接, Postman: 一,Postman软件安装 二,Postman使用手册1——导入导出和发送请...

slagga ⋅ 2016/09/24 ⋅ 0

【PHP】别名函数之die()与exit()的真正区别

网上搜索die与exit两个函数的区别,大部分的”标准答案”都是说die是退出并释放内存,exit是退出但不释放内存。 这个解释显然是错的,PHP手册中已经说过“die — Equivalent to exit().This ...

issac宝华 ⋅ 2016/10/19 ⋅ 0

奇怪的请求【PHP】

突然发现有一个固定的ip的访问请求,是这样的。这个逗号是怎么来的。。。

__FresHmaN ⋅ 2014/03/13 ⋅ 2

C#压缩文件遇到的问题

本人用C#参考网上的资料写了一段压缩文件的代码如下: public void zip(string DirectoryToZip, string ZipFileToCreate) { try { using (ZipFile zip = new ZipFile()) { zip.SaveProgress ......

嵇智 ⋅ 2012/12/27 ⋅ 0

【PHP】PSR简要规范

【PHP】PSR简要规范 代码规范 php 一鸣 PSR是一系列关于PHP开发的规范,分有好几个版本,自己学的也较为肤浅,但还是希望能时常查看规范,为了方便记忆和遵循,我把关键词为必须的捡拾出来,...

Yomut ⋅ 2016/05/30 ⋅ 0

django内存泄漏

服务器上跑了一个python脚本,运行一段时间后总是内存耗尽异常退出。原来,Django设置总Debug开了。。。果断关掉,正常了

freeroad ⋅ 2014/12/09 ⋅ 0

Failed to connect to Standalone V8 VM 以及 不走断点 解决方法

最近在研究 Node.js 在调试的时候我使用了 Chrome Devtools 首次调试成功但是之后一直报异常,Google 了半天也没找到答案, 后来顺藤摸瓜的解决了: Failed to connect to Standalone V8 VM ...

omm881 ⋅ 2015/03/29 ⋅ 0

redhat 5.4 搭建本地YUM源

redhat 5.4 搭建本地YUM源 在REDHAT 5以后,加入了YUM这个新功能,可以解决RPM包的依赖关系,但不注册RHN的话不这个功能是不能使用的,我们可以使用光盘中自带的RPM包自己动手搭建个本地源,网上的...

木雨山 ⋅ 2011/07/29 ⋅ 0

【CSS选择符】子代选择符

0018.jpg 后代选择符用于选取一个标签的所有后代,包括子代和孙辈等;而子代选择符只选取指定父辈的子代标签(指定标签元素的第一代子元素)。 子代选择符使用一个额外的符号(尖括号> )表明...

KelvinZ ⋅ 01/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 41分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部