文档章节

【PHP】Debug总览表

呢喃的猫咪
 呢喃的猫咪
发布于 2012/11/20 22:57
字数 1812
阅读 200
收藏 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配置成功。


© 著作权归作者所有

呢喃的猫咪

呢喃的猫咪

粉丝 135
博文 187
码字总数 300722
作品 0
楚雄
其他
私信 提问
加载中

评论(0)

phpstorm —— Xdebug 的配置和使用

给phpstorm 配置Xdebug(Xdebug 是 PHP 的一个扩展, 用于帮助调试和开发。它包含一个与 ide 一起使用的单步调试器。它升级了 PHP 的 var_dump () 功能) 这篇文章主要介绍和记录了window中X...

osc_mersr09e
2018/09/09
2
0
PHPStorm+XDebug进行调试图文教程

一、XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行。具体下载方法如下:将phpinfo网页的源代码拷贝到http://www.xdebug.org/fin...

osc_ahv1z6hi
2018/12/19
1
0
牛海鹏-2015-8-19工作日报

1.金残高一览表修复已完成。 2.请求先顺位对照表修复已完成。 3.A商品顺位对照表修复已完成。 4.其他页面待完成。

牛海鹏
2015/08/19
1
0
php的redis.so扩展安装【PHP】

一、资源准备,下载 不仅是redis.so,安装其他拓展的方式也类似 第一种方式: 下载:wget https://github.com/phpredis/phpredis/archive/develop.zip 解压:unzip develop.zip 进入目录:c...

一代码农码一代
2019/11/19
60
0
从零开始的 phpstorm+wamp 组合下的debug环境搭建(纯小白向)

本文主要是为了帮自己记住每次重装系统后需要干点啥,如果能帮到你,烦请给个好评 环境说明: 1. windows10 64bit 2. wampservers 3.0.6(x86) apache2.4.23 mysql5.7.14 php5.6.25+7.0.10 ...

osc_o1mwzw8v
04/16
2
0

没有更多内容

加载失败,请刷新页面

加载更多

图解!24张图彻底弄懂九大常见数据结构! (转载)

挺不错的一篇文章,图解很清晰,转载一下: 点击前往

庭前云落
58分钟前
34
0
安装docker

1.添加依赖: yum install -y yum-utils device-mapper-persistent-data lvm2 2、添加软件源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.r......

muoushi
今天
27
0
网络地址转换 NAT 配置

理解 NAT 网络地址转换的原理及功能 掌握静态 NAT 的配置,实现局域网访问互联网 实验背景 你是某公司的网络管理员,欲发布公司的 WWW 服务。现要求将内网 Web 服务器 IP地址映射为全局 IP 地...

老孟的Linux私房菜
今天
39
0
别在 Java 代码里乱打日志了,这才是正确的打日志姿势!

使用slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 实现方式统一使用: Logback框架 打日志的正确方式 什么时候应该打日志 当你遇到问题的时候,只能通过debug功能来...

码农突围
今天
44
0
spring boot 设置任务调度线程池大小和线程前缀

编辑文件application.properties,加入如下: spring.task.scheduling.pool.size =10spring.task.scheduling.thread-name-prefix = sche_prefix-...

jingshishengxu
今天
26
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部