php提示Undefined variable: 引发的几个操作php-fpm等
以前写的一个php脚本,在换成php5.5.8的版本的时候出现了 PHP Notice: undefined index xxx 的警告信息,感觉不舒服解决方法
方法1:服务器配置修改 修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
方法2:页面头部新增 error_reporting(E_ERROR | E_WARNING | E_PARSE); 或者 error_reporting(E_ALL & E_NOTICE); 或者 error_reporting(0);
检测参数方法:(在PHP5.5.8依然无效 Undefined variable: param)
定义一个函数:
function _get($str){
$val = !empty($_GET[$str]) ? $_GET[$str] : null;
return $val;
}
延伸问题:
1.修改在php.ini的参数后重启 php-fpm 网上的那种 php5.4下的 kill 等都无效(在5.5下无php-fpm.pid,kill对应进程也是无效的,我的默认起了3个php-fpm进程)
php-fpm 关闭:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重启:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
查看php-fpm进程数:
ps aux | grep php-fpm
2.解决方法 netstat -lntp 可以看到php-fpm 监听的9000端口的进程 kill掉此进程即可
3.在重新启动php-fpm即可 /usr/local/webservers/php/sbin/php-fpm -D
初次配置php环境在使用phpmyadmin时提示 “无法载入mysql扩展,请检查PHP配置” 错误,下面我就此问题来给大家介绍一下解决办法。在配置了PHP的运行环境,并且安装了MySQl数据库之后,下面就可以学习下PHP如何与MySQL进行交互了。
既然MySQL是数据库,则必不可少的需要建立数据库、表、字段等操作(假象下我们使用ASP+ACCESS的情形),然而对于MySQL数据库而言,在我们默认安装时是没有可视化界面操作MySQl的,所以我们很多时候是借助phpMyAdmin来操作MySQL数据库的。
然而通过“PHP 5.2.3 installer”安装版的使用,当我们应用到phpMyAdmin,页面出现了“无法载入mysql扩展,请检查PHP配置”的提示。
1,首先,我们就来检查PHP配置文件 php.ini
打开PHP所安装目录下的 php.ini 文件,Ctrl+F搜索“php_mysql.dll”,将“;extension=php_mysql.dll”前的“;”删除以取消注释,同时搜索并修改“extension_dir”的值为“php_mysql.dll”文件所在文件夹。即:
代码如下 | 复制代码 |
extension=php_mysql.dll |
2,然而通过这一页所使用的安装版是没有保存PHP扩展DLL文件的ext文件夹的,所以也就没有php_mysql.dll,我们运行phpMyAdmin当然会有问题
继续打开http://www.php.net/downloads.php 选择“PHP 5.2.3 zip package”压缩包文件,将其中的ext文件夹全部解压到PHP的安装目录下,所以才有了extension_dir = "D:\PHP\ext\"(注:前提是你的PHP安装在D盘)
3,完成了对php.ini文件的修改和包含有php_mysql.dll的ext文件夹的添加,建议重新启动下计算机,再来调试phpMyAdmin
4,当然,对于phpMyAdmin文件夹内的config.inc.php文件进行MySQL帐号和密码的修改,就不在这里交代
有关config.inc.php的修改:
对于config.inc.php文件,最重要的即是修改加入phpMyAdmin连接MySQL的用户名和密码。寻找到代码行:
代码如下 | 复制代码 |
|
有关你的MySQL数据库帐号密码参看(安装时你自己设置的):
另外,在网络上搜索了下本问题的相关解决方法,有的解决还需要把“php.ini文件和php_mysql.dll拷贝到了c:/windows以及c:/windows/system32目录”内,这是由于PHP是非安装版,一般安装版则不需要了,你可以在“我的电脑”属性“高级”中选择“环境变量”查看系统变量“Path”其中就指明了PHP的安装路径。
phpMyAdmin“无法载入mysql扩展,请检查PHP配置”的问题解决(感谢含笑的指导参考),下面可以学习使用PHP与MySQL交互操作了。
json_encode函数对于中文的处理不友好,如果我们字符为gbk或gb2312编码时会发现转换中文变成了空了,但对于utf-8转换出来的编码是我们看不懂的,下面我来就json_encode对中文字符处理问题的一些解决办法。
1.json_encode()中文在gbk/gb2312中中文返回为null
代码如下 | 复制代码 |
$arr = array ( array ( 'catid' => '4', 'catname' => 'www.111cn.net', 'meta_title' => '一聚教程网2' ) 结果 [{"catid":"4","catname":"www.111cn.net","meta_title":null}] |
看一了吗"meta_title":null 他本来是有一个值的为一聚教程网2了,这个我们查了一下原理是json_encode只支持uft-8编码,我们转换一下
代码如下 | 复制代码 |
<?php $data=”JSON中文”; $newData=iconv(“GB2312″,”UTF-8//IGNORE”,$data); echo $newData; //ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符都不会被保存。 //或是(“GB2312″,”UTF-8″,$data); ?> |
Step2
后台PHP页面(页面编码为UTF-8或者已经把字符转为UTF-8)使用json_encode将PHP中的array数组转为JSON字符串。例如:
代码如下 | 复制代码 |
<?php $testJSON=array(‘name’=>’中文字符串’,’value’=>’test’); echo json_encode($testJSON); ?> 查看输出结果为: {“name”:”u4e2du6587u5b57u7b26u4e32″,”value”:”test”} |
可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:
代码如下 | 复制代码 |
<?php 查看输出结果为: {“name”:”中文字符串”,”value”:”test”} |
总结:json_encode函数只能处理uft8字符串,如果是中文估计是对字节处理不好,因为中文gbk与uft长度是不一样的哦,这个我也不深入介绍了。
最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用android系统手机扫描后得到的vcard中的中文姓名是乱码,经过比对发现,这部分vcard中ORG这个类型没有内容,随即判断没内容就加上一个固定的字符串,这样乱码的问题得以解决。这样解决算是曲线救国吧,不知道怎么根本解决乱码问题,谁得到方法请留言告知,谢谢。最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用android系统手机扫描后得到的vcard中的中文姓名是乱码,经过比对发现,这部分vcard中ORG这个类型没有内容,随即判断没内容就加上一个固定的字符串,这样乱码的问题得以解决。这样解决算是曲线救国吧,不知道怎么根本解决乱码问题,谁得到方法请留言告知,谢谢。
三、 php生成二维码的几种方式
1.google开放api
代码如下 | 复制代码 |
$urlToEncode="http://gz.altmi.com"; |
2.php类库PHP QR Code
地址:http://phpqrcode.sourceforge.net/
下载:http://sourceforge.net/projects/phpqrcode/
用例:
代码如下 | 复制代码 |
# 创建一个二维码文件 |
3.libqrencode
地址:http://fukuchi.org/works/qrencode/index.en.html
php支持请参考:http://hirokawa.netflowers.jp/entry/4900/
4.QRcode Perl CGI & PHP教程 scripts
地址:http://www.swetake.com/qr/qr_cgi.html
四、第2种方法中在二维码中间加上logo
修改phpqrcode.php中的QRimage类里的png方法:
代码如下 | 复制代码 |
public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4, $saveandprint=FALSE, $mergePic='') if ($filename === false) { |
今天在使用一个Caiji功能的使用,突然间出现“
Warning: file_get_contents() [function.file-get-contents]: couldn't resolve host name in ……
而本地测试却没有问题,从网上查了一些资料,发现是dns的问题。下面是解决方法:
用ssh连接linux vps, 修改vps主机的dns。
vi /etc/resolv.conf
里面的内容直接修改成:
nameserver 114.114.114.114
nameserver 8.8.8.8
保存即可,不用重启。
再次测试,OK!
相关文章
php错误提示 open_basedir restriction in effect 解决
今天在帮助一个朋友配置一台服务器时发现网站配置好了缓存目录读写不成功,在打开错误时发现提示 Warning: file_exists() [function.file-exists]: open_basedir restr...2016-11-25解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题
这篇文章主要介绍了解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-28- PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
- 这篇文章主要介绍了解决Antd Table表头加Icon和气泡提示的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
php-fpm 启动报please specify user and group other than root, pool ‘default’
本文章来给大家介绍关于php-fpm 启动报please specify user and group other than root, pool ‘default’的解决办法。 安装PHP ,配置fpm 成功后启动发现报错: St...2016-11-25mysql提示Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64的解决
在windows下安装Mysql系统日志出现max_open_files: 2048 max_connections: 510 table_cache: 764 类似错误是因为 max_connections 最大连接数和max_open_files、table_cache 不匹配。适当的降低max_connections 或调...2014-05-31解决jquery插件:TypeError:$.browser is undefined报错的方法
首先先说一说$.browser browser就是用来获取浏览器基本信息的。 jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需...2015-11-24- 有时候我们需要在登陆表单有一些提示语言,比如“请输入用户名”和“请输入密码”等语言,通过本文给大家介绍JavaScript实现输入框(密码框)出现提示语的相关知识,对js实现输入框提示相关知识感兴趣的朋友一起学习吧...2016-01-14
详解pycharm的python包opencv(cv2)无代码提示问题的解决
这篇文章主要介绍了详解pycharm的python包opencv(cv2)无代码提示问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-29- 这篇文章主要为大家分享了js滑动提示效果代码,实现方法简单,感兴趣的小伙伴们可以参考一下...2016-03-12
- 这篇文章主要为大家详细介绍了原生JS实现登录框邮箱提示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-18
- 这篇文章主要介绍了jQuery文字提示与图片提示效果实现方法,涉及jQuery针对鼠标事件的响应与页面元素动态操作相关技巧,需要的朋友可以参考下...2016-07-06
PHP “Notice: Undefined variable” 和 “Notice: Undefined index”报错
下面我们来看一篇关于PHP “Notice: Undefined variable” 和 “Notice: Undefined index”报错,希望这篇文章能够帮助到各位朋友,有兴趣的朋友可以进来看看吧。...2016-11-25Notice:undefined index ..错误提示解决方法
这句是在php开发中会碰的一些问题,看这提示我们都知道是变量未定义,那么下面来解决Notice:undefined index方法, 一,这个因为是变量未定义我们只要找到相关的位置加...2016-11-25php性能分析之php-fpm慢执行日志slow log用法浅析
这篇文章主要介绍了php性能分析之php-fpm慢执行日志slow log用法,结合实例形式分析了php慢执行日志的功能与相关使用技巧,需要的朋友可以参考下...2016-10-20- 这篇文章主要介绍了Element Tooltip 文字提示的使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-26
PHP Notice: undefined index原因与解决办法
在php开发时可能会碰到如PHP Notice: undefined index这种错误提示,下面我来给大家介绍关于undefined index错误提示的解决办法。 如 $_GET['aa']; 就会出现PHP No...2016-11-25photoshop提示暂存盘已满怎么办?ps提示暂存盘已满如何解决
photoshop提示暂存盘已满怎么办呢?有一些设计在使用ps打开或处理图片时提示暂存盘已满了,那么此问题要如何解决呢?下面和一聚教程小编一起来看看吧。 第一步、我们...2016-09-14- 这篇文章主要介绍了vue如何在用户要关闭当前网页时弹出提示的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-01
Jquery attr("checked") 返回checked或undefined 获取选中失效
假设我们现在需要这样的场景:页面上有一个checkbox,我们期望通过Jquery来获得它是否选中,或者通过Jquery来让它被选中。 在JQ1.6之前的版本,我们会这样写我们的代码: 复制代码 代码如下: <input type='checkbox' id='cb'/>...2013-10-13