乐心
Always dream. Always explore.
乐心的博客

PHP
文章归档

PHPStorm配置Docker内Xdebug调试

php.ini:xdebug.default_enable=0 xdebug.remote_autostart=1 xdebug.remote_enable=1 xdebug.remote_connect_back=0 xdebug.cli_color=0 xdebug.profiler_enable=0 xdebug.profiler_enable_trigger=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_port=9001 xdebug.remote_host="10.254.254.254" xdebug.profiler_output_dir="/data/www/xdebug_profiler" xdebug.idekey="PHPSTORM"Mac命令行执行:sudo ifconfig lo0 alias 10.2…

43   2018-12-16  

php导出csv打开乱码问题解决

$transaction_excel_fp = fopen($transaction_excel_path, 'w'); fwrite($transaction_excel_fp,chr(0xEF).chr(0xBB).chr(0xBF)); fputcsv($cashback_excel_fp, [ 'aaa', 'bbb', ]); fclose($cashback_excel_fp); //顺带一个知识点 csv处理成纯文本显示protected function convertNumberToStringForExcel($value) { return '=("' . $value . '")'; }

28   2018-02-06  

preg_match_all 结果排序之PREG_SET_ORDER参数

今天在写通用采集类的时候,需要用到正则处理一些匹配,比较常用的当然就是preg_match_all了,以前也经常使用它来进行正则的匹配。刚在查看preg_match_all的手册的时候,注意到原来preg_match_all有一个PREG_SET_ORDER的参数,是用于设置匹配后返回的数组的顺序。int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 参数flags为以下3个:PREG_PATTERN_ORDER PREG_SET_ORDER PREG_OFFSET_CAPTURE 其中PREG_PATTERN_ORDER为默认参数。我们用例子来看…

28   2018-01-16  

php接口设置cors实现ajax跨域

CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。具体的介绍请参考阮一峰老师的文章 跨域资源共享 CORS 详解该资源共享需要在服务端进行配合,以下是服务端设置 header('Access-Control-Allow-Origin:http://www.quzone.cn'); //允许跨域请求的域名地址 可以为*表示接受所有地址 header('Access-Control-Allow-Methods:GET'); //允许的请求方式 header('A…

22   2018-01-11  

discuz论坛forum_thread表的displayorder字段解释

forum_thread的displayorder字段解释 displayorder 4 多版块置顶功能可让一个主题在任意多个版块 只在指定的板块显示主题 需要在后台-内容-主题-板块/群组指定来进行操作 以下三种置顶可以在版主管理的浮动窗口操作 displayorder 3 全局置顶 全部专区,每个板块都可已看的到 displayorder 2 分类置顶 本专区的所有板块都可以看到该帖 dispalyorder 1 本版置顶 只有本板块在置顶区看得到,该板块子版块和其他都看不到 displayorder 0 普通贴 在前后台的版主管理操作中,可以…

25   2017-12-14  

本地环境phpStorm+XDebug配置和断点调试

安装环境:XAMPP;phpStorm版本10; windows 7 64bit。XAMPP、phpStorm 都直接安装在了D盘根目录,9999m目录建在D:xampphtocts下,即目录工程文件夹路径为D:xampphtocts9999m。在phpStorm>File>open,找到9999m,点击确定,加载9999m到了phpStorm(安装环境路径根据需要自行更改,后面的配置内容也类似)。开始服务器端配置:安装好XAMPP,停止apache服务(注意,如果直接退出XAMPP,是不会停止apache的)。在安装目录下找到php.ini,类似于D:xamppphpphp.ini,并打开。找到被注…

26   2017-07-04  

PHP错误日志

php.ini中日志相关的配置;将错误输入到日志文件 (服务器指定的log,stderr或者以下error_log指定的位置) log_errors = On ;错误日志文件位置 error_log = /tmp/php-error.log ;是否将错误打印出来(程序中的错误,如代码语法错误) display_errors = Off ;Note: ;尽管 display_errors 也可以在运行时设置 (使用 ini_set()), 但是脚本出现致命错误时任何运行时的设置都是无效的。 因为在这种情况下预期运行的操作不会被执行。 ;PHP启动过程中的错误信息 display_startup_errors = Off ;错…

21   2017-06-05  

PHP中“==”运算符的安全问题

前言PHP是一种通用的开源脚本语言,它的语法混合了C,Java,以及Perl等优秀语言的语法。除此之外,它还提供了大量的函数库可供开发人员使用。但是,如果使用不当,PHP也会给应用程序带来非常大的安全风险。在这篇文章中,我们将会对PHP应用程序中经常会出现的一些问题进行深入地分析,尤其是当我们使用“==”(比较运算符)来进行字符串比较时,可能会出现的一些安全问题。虽然近期有很多文章都围绕着这一话题进行过一些探讨,但我决定从“黑盒测试”的角度出发,讨论一下如何利用这个问题…

13   2017-06-01  

转:让Json更懂中文(JSON_UNESCAPED_UNICODE)

我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u*”的格式, 还会在一定程度上增加传输的数据量.<?php echo json_encode("中文"); //"\u4e2d\u6587" 这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.看下面的例子:<?php echo json_encode("中文", J…

23   2017-05-02  

mac安装mamp集成环境php5.6和redis、memcache扩展

准备工具:MAMP 3.5.2版本,下载和软件安装就不说了,需要破解版安装包可以联系博主配置mamp:安装完MAMP,打开,找到php选项卡,设置php default version为5.6.10(版本根据你需要的来选择,这里选择5.6.10是为了下面安装扩展使用的)切换到hosts,左下角+号新增一个项目,然后输入域名,选择document root为你项目的入口路径,保存,重启服务,这个时候到浏览器里输入刚才设置的域名就可以看到项目了,hosts文件会自动配置完成安装redis和memcache扩展:为了节约时间,可以使用我自己编…

17   2017-04-18