一切福田,不離方寸,從心而覓,感無不通。

Category Archives: PHP

laravel5.3搭建过程中出现问题

composer install命令出错-->

解决方法:因为镜像使用用的是http,而原地址是需要https,所以配置下关掉https就好了。

  报错信息:

解决方案:修改php.ini开启openssl拓展   Laravel 出现"RuntimeException inEncrypter.php line 43: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths."问题的解决办法——> 首先在cmd命令行下定位到项目所在的根目录下,接着输入:

这时候项目根目录下的.env文件里的APP_KEY应该会有值了: 若没有,将上面的key输入进去 from:http://www.cnblogs.com/vincebye/p/5947739.html

龙生   06 Aug 2017
View Details

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5, PHP 7) call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 说明 mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入。 参数 callback 被调用的回调函数。 param_arr 要被传入回调函数的数组,这个数组得是索引数组。 返回值 返回回调函数的结果。如果出错的话就返回FALSE 更新日志 版本 说明 5.3.0 对面向对象里面的关键字的解析有所增强。在此之前,使用两个冒号来连接一个类和里面的一个方法,把它作为参数来作为回调函数的话,将会发出一个E_STRICT的警告,因为这个传入的参数被视为静态方法。 范例 Example #1 call_user_func_array()例子 <?php function foobar($arg, $arg2) { echo __FUNCTION__, " got $arg and $arg2\n"; } class foo { function bar($arg, $arg2) { echo __METHOD__, " got $arg and $arg2\n"; } } // Call the foobar() function with 2 arguments call_user_func_array("foobar", array("one", "two")); // Call the $foo->bar() method with 2 arguments $foo = new foo; call_user_func_array(array($foo, "bar"), array("three", "four")); ?> 以上例程的输出类似于:

Example #2 call_user_func_array()使用命名空间的情况 <?php namespace Foobar; class Foo { static public function test($name) { print "Hello {$name}!\n"; } } // As of PHP 5.3.0 call_user_func_array(__NAMESPACE__ .’\Foo::test', array('Hannes')); // As of PHP 5.3.0 call_user_func_array(array(__NAMESPACE__ .’\Foo', 'test'), array('Philip')); ?> 以上例程的输出类似于:

Example #3 把完整的函数作为回调传入call_user_func_array() <?php $func = function($arg1, $arg2) { return $arg1 * $arg2; }; var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.3.0 */ ?> 以上例程会输出:

Example #4 传引用 <?php function mega(&$a){ […]

龙生   18 Jul 2017
View Details

iWshop完整安装指南

本文档仅介绍如何安装iWshop并且完成微信公众号对接,其他微信认证、微信支付等申请可以参考: 百度经验 微信认证申请、微信支付申请 iWshop 交流群:470442221 iWshop 类文档:http://docs.ycchen.cc/iwshop/index.html 一、准备工作 服务器环境要求 PHP5.3+ MySQL 5.5.3+ (utf8mb4编码用于保存带有emoji表情的微信用户昵称) PHP扩展:php_mysql php_curl php_pdo_mysql php_mcrypt php_gd2 请确保您的php.ini配置中magic_quotes_gpc为Off,否则某些功能可能无法使用 如果需要redis,请加载php_redis扩展 iWshop是以UrlQuery的形式组合参数的,所以不需要伪静态模块。 开始安装iWshop http://git.oschina.net/koodo/iWshop/releases 现在以安装目录F:\dev_project\test_iwshop为例进行安装,我的httpd-vhosts.conf其中的一个设置是这样的。关于如何使用apache的vhosts可以参考:Apache官方示例 1 2 3 4 5 6 7 8 9 10 &lt;VirtualHost *:80&gt;     DocumentRoot "F:\dev_project\test_iwshop"     ServerName test.iw.com     &lt;Directory "F:\dev_project\test_iwshop"&gt;         AllowOverride All         Options FollowSymLinks         Order allow,deny         Allow from all     &lt;/Directory&gt; &lt;/VirtualHost&gt; 当然你也可以直接放服务器根目录。 然后在浏览器中打开localhost,或者vhosts指向的域名。 填写微店名称(可以在后台修改),数据库密码,后台管理员账号密码(可以在后台修改),然后点击下一步。 这里特别说明一下系统根目录,如果是在DocumentRoot的根目录下安装,那么就是 / ,如果是在某个子目录比如/iw/,那么这里就要填写 /iw/ ,一般情况下都会自动获取,无需填写,如果遇到css或者js等静态文件无法加载页面错乱的问题,请检查config.php里面的docroot选项。 点击马上安装,如果数据库版本和php环境没有什么配置问题的话,就安装成功了。 假设服务器域名是:www.iwshop.cn,那么你的: 后台地址:http://www.iwshop.cn/?/Wdmin/login/ 微信消息接口地址:http://www.iwshop.cn/wechat/ 二、微信对接 // todo 三、bug反馈 http://git.oschina.net/koodo/iWshop/issues iWshop 交流群:470442221 作者邮箱 koodo@qq.com from:http://git.oschina.net/koodo/iWshop/blob/dev/html/docs/install.md

龙生   16 May 2017
View Details

yii2 urlManager url美化及apache下yii2 rewrite设置

[摘要:远期正在进修yii2框架的应用,正在看他人的专客时讲到了好化url的完成 比方,默许进进about页里的时间,url是如许的http://localhost/index.php?r=site%2Fabout,只需正在/config/web.p] 近期在学习yii2框架的使用,在看别人的博客时讲到了美化url的实现 比如,默认进入about页面的时候,url是这样的http://localhost/index.php?r=site%2Fabout,只要在/config/web.php中,在components数组中加上 urlManager => [ showScriptName => false, enablePrettyUrl => true ], 开启之后再访问about页面,路径已变为http://localhost/web/site/about 但是我在本机上使用的时候,一直报404错误,搜索过后才知道是因为apache没有开启rewrite功能 最后找到了这个博客 http://www.chenruixuan.com/archives/759.html yii basic版: 1. 开启 apache 的 mod_rewrite 模块 去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号; 2. 修改 apache 的 AllowOverride 把 AllowOverride None 修改为 AllowOverride All; 3. 在与index.php文件同级目录(web目录)下添加文件“.htaccess” Options +FollowSymLinks IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php 4. 配置应用的urlManager   yii2.0与之前版本配置略有不同,根据文档显示: http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html 需要在config/web.php中的components数组下增加: 1 2 3 4 5 6 7 8 […]

龙生   16 May 2017
View Details

PHP实现RIJNDAEL_256加密(静态类)

 

龙生   15 May 2017
View Details

仿冒IP与伪造referer

伪造IP与伪造referer 在http协议中伪造ip的可能性研究 些日子对自定义http协议的各个数据进行了研究,对于ip伪造的问题,我当时给的建议是使用代理服务器,不过后来发现,其实可以在http协议加入一个选项,来实现一个非伪造ip的伪造ip 。如何理解呢?理由如下:~ 一、方法概述 在http协议数据头里面加入选项“x-forward-for”,例如:“x-forward-for:202.204.76.254”,这样发送出去 的包,就是一个特殊的包,在收包方看来,这个包的意思是,一个代理服务器发过来的数据包,而这个包的真是ip是“202.204.76.254”,其实还 是实现的是三次握手,但是只不过是在发包的同时,对收包方提到了一个第三者。 二、试用范围 因为现在的网站类的程序如果有IP限制的话,基本上都是会检测是不是代理服务器发送的数据的,如果是代理服务器发送的数据,那么他就把IP记为这个(透明)代理服务器发送的x-forward-for的IP。 以一段较为流行的php检测ip的代码为例: 那么大家可以看到这个IP是如何伪造的了。 三、应对方法 当然对于网站方面,这种伪造ip的情况虽然不是很多,但是如果在投票类的程序中,当然很需要这方面的检测了,呵呵。多多检测HTTP_CLIENT_IP吧。貌似这个还没有办法伪造? .. 四、总体看法 这个办法之所以称之为非伪造ip的伪造ip,主要就是利用了现在大多数网站程序检测ip的一个漏洞。所以如果网站程序能够重新审视一下自己的ip检测办法,这个方法就会慢慢失效的。呵呵。 – 伪造 referer 首先说明,伪造访问来路不是什么光明正大的事情,目的就是为了欺骗服务器。原本以为给 XMLHTTP 对象增加一个 Referer 的header 就可以,结果却没有任何作用,改用 ServerXMLHTTP 也如此。 无意间发现公司内部项目使用的 paypal 扣款程序里面有 WinHttp.WinHttpRequest.5.1 对象,它负责把客户的信用卡信息提交到 paypal 的服务器,看来是一个核心的远程访问方法,google一下发现它居然用可以成功伪造所有 http 请求的 header 信息!下面的代码通过伪造 referer 的值,假装从百度首页提交一个表单到指定的 url 去: var url = http://www.yourtarget.com ; var param = name=david&age=30 ; var obj = new ActiveXObject( WinHttp.WinHttpRequest.5.1 ); obj.Open( POST , url, false); obj.Option(4) = 13056; obj.Option(6) = false; //false可以不自动跳转,截取服务端返回的302状态。 obj.setRequestHeader( Content-Type , application/x-www-form-urlencoded ); obj.setRequestHeader( Referer , http://www.baidu.com ); obj.Send(param); WScript.Echo(obj.responseText); 保存为 xxx.js 文件,在命令行中运行 cscript.exe […]

龙生   15 May 2017
View Details

PHP 图像处理库 Grafika

Grafika 是一个 PHP 的图像处理库。可用于改变图像大小、剪切、比较,以及添加水印等操作。同时可以创建一些文本图片、几何图形并应用一些过滤器。基于 Imagick 和 GD 构建。 特征 智能裁剪 图像比较 感知哈希 高级图像处理过滤器 贝塞尔曲线 示例代码: ? 1 2 3 4 5 6 7 useGrafika\Grafika; $editor= Grafika::createEditor(); $editor->open( "path/to/jpeg/image.jpg"); $editor->resizeExact( 200, 200 ); $editor->save( "path/to/edited.jpg", null, 90 ); osc地址:http://www.oschina.net/p/grafika

龙生   29 Jul 2016
View Details

WordPress安装插件报错解决办法

今天多说评论插件遇到点问题,就把原来的删除掉,想重新安装一遍,再次安装的时候遇到:无法安装这个包。 PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file ‘C:\WIN….很长一段,不知道什么原因,就在网站搜了一下,原因可能是windows server权限的问题。最终在找到了一个解决方法。指定wp的临时文件夹路径,避免默认的文件夹在windows下没有权限。方法如下: 打开wordpress根目录下的wp-config.php文件 找到如下: /** WordPress 目录的绝对路径。 */ if ( !defined(‘ABSPATH’) )     define(‘ABSPATH’, dirname(__FILE__) . ‘/’); 在下面增加如下代码即可: /** 指定WordPress的临时目录 */ define(‘WP_TEMP_DIR’, ABSPATH . ‘wp-content/temp’); 最后再wp-content文件夹下新建个temp文件夹,然后再更新或下载插件试试。 from:http://blog.csdn.net/xiangqiao123/article/details/14119715

龙生   20 Jul 2016
View Details

给 PHP 程序员的 10 款最佳 IDE

准备好好学习学习PHP了吗?那么你首先应该考虑用什么开发工具(IDE)。市面上有很多这类工具,收费的有,免费的也有,选择起来并不轻松。 如果你说PHP编程用基础的文本编辑软件就可以了,比如用记事本。是的,这对于业余爱好者来说绝对可以。但选择一款功能丰富而完整的开发软件还是要好一些,尤其是专业开发者更有必要。这些软件如:NetBeans, PHPStorm, VIM, Zend Studio, Cloud9或Atom。 好的开发工具富有特点而且能够帮助开发者快速高效地编辑程序,它是开发者的基本需求,磨刀不误砍柴工,提前花点时间选择一款适合的开发软件是为上策。 那选择哪一款呢, 这个问题要看你的需求、偏好和预算。 选定一款之前试用几个也不错。 大量PHP开发软件支持跨平台系统,能用于Windows,Linux和Mac,而且提供免费下载。 对于初学者,我的建议是,你可以随意选择一款免费的,可用就行。 比如:NetBeans,VIM,Atom或Eclipse PDT。 企业和专业开发者可以用这些免费的开发软件完成程序编辑,但同时也有很多收费的平台因为整合了很多最新和更进步的功能特性而备受企业开发者的青睐。随便举几个,比如:PHPStorm, Sublime Text, Zend Studio, Nusphere, PHPED, PHP Designer和 Cloud 9等。 假如你只是想用PHP做简单的应用而非构架一整个系统,那么你也可以试一试那些线上的PHP开发工具,比如说PHPfiddle.com。 更简单的你可以选用witephponline.com和ideone.com。 好了,那让我们来看一下被全世界开发者们公认的10个优秀的开发工具吧。它们功能丰富,广为流传,最为先进而且备受喜爱。 1. NetBeans – 最好的PHP IDE (免费版本) NetBeans是供普通大众使用的PHP IDE,它功能丰富、免费并且支持多国语言,其中包括英语、日语、俄语、巴西葡萄牙语以及简体中文。NetBeans的免费版本的发布日期要回溯到2010年,Sun Microsystems开始将其作为开源项目发展,后来Sun Microsystems成为了Oracle的子公司。 自发布以来,NetBeans的下载次数已超过1800万次,同时拥有一个最大的致力于开源集成开发环境的开发者社区。 过去,NetBeans的用途很少,只能进行Java开发,但现在,这样的日子一去不复返了,NetBeans目前的稳定版是轻量级的、速度更快并且全面支持PHP。对于像Zend、Doctrine、 Smarty和Symfony2一类的流行PHP框架以及像Yii、CakePHP、 FuelPHP和Wordpress CMS一类的其它框架提供了开箱即用的支持,也通过laravel-ide-helper提供了对Laravel框架的开箱即用支持。 让NetBeans位居榜首的关键特性是拥有很多代码生成工具,像getter setter生成、代码模板、智能代码补全、提示、快速修复和重构等。另外还支持一些基本特性,包括代码折叠和格式化、try/catch代码补全以及矩形选区等。 当进入调试阶段时,你可以在本地或者远程使用命令行或者xDebug。NetBeans PHP编辑器对包括 javascript、HTML和CSS等web开发都提供了开箱即用的支持。所有这些特性轻而易举地使得NetBeans成为最好的开源PHP IDE。 阅读更多有关NetBeans的内容请访问官方网站netbeans.org。 2. PHPStorm- 最好的PHP IDE (商业版本) PHPStorm 是全功能的PHP IDE,其拥有最现代化的功能集可以快速便捷的进行网页开发。它由名叫JetBrains的公司开发并销售。 在过去的15年中,在开发工具的市场中JetBrains是最受人喜爱的公司,它使得编写代码更加的轻松和愉快。 PHPStorm 很好的支持主要的框架比如Symfony, Zend Framework, Yii, CakePHP, Laravel以及主要的CMS系统如Drupal, Magento 和Wordpress。 不是所有的Web开发项目都没有前端技术,这也正是PHPStorm耀眼之处, 它几乎提供了所有前端技术的实时编辑功能比如CSS, Sass, HTML5, CoffeeScript, TypeScript, JavaScript, Stylus, Less等等。同时还支持代码重构,调试和单元测试。 从发工具方面来说,它提供了版本控制系统,sql数据库,composer, 远程部署,vagrant,其他的客户端,命令行工具等诸如此类的功能。 从调试的角度来说,它支持Zend Debugger和Xdebug,也同时支持本地的或远程的。 PHPStorm是企业级IDE, 需要授权费用,主要的目标是专业的开发人员,但是它同时为教师,学生或开源的项目免费提供。 PHPStorm的普及程度可以从一个事实来衡量,就是众多的大公司如Expedia,Yahoo, Cisco, Salesforce 和wikipedia都曾有购买过PHPStorm IDE的授权。 你可以在以下地址下载PHPStorm试用版 […]

龙生   20 Jul 2016
View Details
1 16 17 18 29