当前位置: 编程技术>php
本页文章导读:
▪在WAMP环境下搭建ZendDebugger php调试工具的方法
东西不是新货,所以介绍就不做介绍了,下面主要是配置流程。
首先,下载ZendDebugger,下载链接:http://downloads.zend.com/pdt/server-debugger/,因为我是win系统,所以就找.zip结尾的就行了,.........
▪无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
无法载入 mcrypt 扩展,<br />请检查 PHP 配置 出现以下几种情况后可能会造成运行phpmyadmin程序提示“无法载入 mcrypt 扩展,<br />请检查 PHP 配置”的 错误提示 1、没有正确安装Mysql数据.........
▪PHP通过iconv将字符串从GBK转换为UTF8字符集
1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。 iconv函数在php5中内置,GB字符集默认打开。 2. iconv()错误 iconv在转换字符”—.........
[1]在WAMP环境下搭建ZendDebugger php调试工具的方法
来源: 互联网 发布时间: 2013-11-30
东西不是新货,所以介绍就不做介绍了,下面主要是配置流程。
[zend]
zend_extension_ts="D:\soft\wamp\bin\php\php5.2.6\ext\ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
保存关闭,继续查看下载下来的ZendDebugger里的东西,找到dummy.php,把它复制到www目录下,这个目录在X:\wamp\www。
首先,下载ZendDebugger,下载链接:http://downloads.zend.com/pdt/server-debugger/,因为我是win系统,所以就找.zip结尾的就行了,我下的是ZendDebugger-5.2.14-cygwin_nt-i386.zip
然后解压,看到这些目录
那几个文件夹前面的数字,代表php的版本,我用的是5.2.6,所以就用5_2_x_comp,把这个文件夹里的ZendDebugger.dll复制到php目录下的ext文件夹里,然后打开php.ini(记住,wamp下的php.ini是用X:\wamp\bin\apache\apache2.2.8\bin\目录下的),在最下面增加以下几行代码:
代码如下:
[zend]
zend_extension_ts="D:\soft\wamp\bin\php\php5.2.6\ext\ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
保存关闭,继续查看下载下来的ZendDebugger里的东西,找到dummy.php,把它复制到www目录下,这个目录在X:\wamp\www。
重启wamp,打开http://localhost/查看php是否加载的ZendDebugger扩展,像这样就代表安装正常
最后是要在调试器里配置ZendDebugger,这里我就不做具体讲解了,因为有人用ZendStudio,有人用EPP,众口难调,自己摸索吧。
[2]无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
来源: 互联网 发布时间: 2013-11-30
无法载入 mcrypt 扩展,<br />请检查 PHP 配置
出现以下几种情况后可能会造成运行phpmyadmin程序提示“无法载入 mcrypt 扩展,<br />请检查 PHP 配置”的 错误提示
1、没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动 (请查看正确安装Mysql的方法)
2、在系统的 system32(C:\windows\system32) 目录下缺少 libmcrypt.dll文件,解决方法是找到php目录下的libmcrypt.dll,并将libmcrypt.dll复制到C:\windows\system32目录中,然后重新启动Web服务。
3、在C:\windows目录下的php.ini文件中,没有将“;extension=php_mcrypt.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件
找到
;extension=php_mcrypt.dll
改成
extension=php_mcrypt.dll //去掉前面的;使之生效
4、Mysql目录没有读取权限,正确的目录权限如下:
administrator 完全控制
system 完全控制
user 读取加运行
其他的用户权限全部删除(也可保留,但安全性不高,建议删除),然后重启MYsql服务和Web服务(建议修改此项后重启一下服务器)
当你试过所有办法之后还是不行,其实还有一步,网上很少有说,解决办法,我的是WINXP+IIS+PHP5+MYSQL5
桌面>我的电脑>右键属性>高级>环境变量>系统变量>新建
名:phprc
值:d:\php (你的PHP在什么目录就是什么)
出现以下几种情况后可能会造成运行phpmyadmin程序提示“无法载入 mcrypt 扩展,<br />请检查 PHP 配置”的 错误提示
1、没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动 (请查看正确安装Mysql的方法)
2、在系统的 system32(C:\windows\system32) 目录下缺少 libmcrypt.dll文件,解决方法是找到php目录下的libmcrypt.dll,并将libmcrypt.dll复制到C:\windows\system32目录中,然后重新启动Web服务。
3、在C:\windows目录下的php.ini文件中,没有将“;extension=php_mcrypt.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件
找到
;extension=php_mcrypt.dll
改成
extension=php_mcrypt.dll //去掉前面的;使之生效
4、Mysql目录没有读取权限,正确的目录权限如下:
administrator 完全控制
system 完全控制
user 读取加运行
其他的用户权限全部删除(也可保留,但安全性不高,建议删除),然后重启MYsql服务和Web服务(建议修改此项后重启一下服务器)
当你试过所有办法之后还是不行,其实还有一步,网上很少有说,解决办法,我的是WINXP+IIS+PHP5+MYSQL5
桌面>我的电脑>右键属性>高级>环境变量>系统变量>新建
名:phprc
值:d:\php (你的PHP在什么目录就是什么)
[3]PHP通过iconv将字符串从GBK转换为UTF8字符集
来源: 互联网 发布时间: 2013-11-30
1. iconv()介绍
iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。
iconv函数在php5中内置,GB字符集默认打开。
2. iconv()错误
iconv在转换字符”—”到gb2312时会出错,解决方法是在需要转成的编码后加 “//IGNORE”,也就是iconv函数第二个参数后.如下:
iconv("UTF-8", "GB2312//IGNORE", $data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
3. iconv()例子
例1:
<?php
echo $str= ‘你好,这里是卖咖啡!';
echo '<br />';
echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
echo '<br />';
echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
print_r(iconv_get_encoding()); //得到当前页面编码信息
echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
?>
例2:
如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
<?php
$str='我爱百度';
$utf='';
for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
echo $utf;
?>
如果你的PHP文件是GB的,那么下面的代码可以工作:
<?php
$str='我爱百度';
$str=iconv("GBK", "UTF-8", $str);
$utf='';
for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
echo $utf;
?>
以上情况下,程序输出的内容是:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6
iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。
iconv函数在php5中内置,GB字符集默认打开。
2. iconv()错误
iconv在转换字符”—”到gb2312时会出错,解决方法是在需要转成的编码后加 “//IGNORE”,也就是iconv函数第二个参数后.如下:
代码如下:
iconv("UTF-8", "GB2312//IGNORE", $data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
3. iconv()例子
例1:
代码如下:
<?php
echo $str= ‘你好,这里是卖咖啡!';
echo '<br />';
echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
echo '<br />';
echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
print_r(iconv_get_encoding()); //得到当前页面编码信息
echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
?>
例2:
如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
代码如下:
<?php
$str='我爱百度';
$utf='';
for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
echo $utf;
?>
如果你的PHP文件是GB的,那么下面的代码可以工作:
代码如下:
<?php
$str='我爱百度';
$str=iconv("GBK", "UTF-8", $str);
$utf='';
for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
echo $utf;
?>
以上情况下,程序输出的内容是:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6
最新技术文章: