laravel5里怎么查看Eloquent执行过的sql语句
laravel框架目前看来还不是很稳定,每个版本变化相当大,当然你可以说他发展相当快,但这个版本里把之前版本的很多功能都换了,或者去除或者重写了的话,也可以说这个框架还不成熟。最近使用laravel发现laravel里有很多东西是抄Yii的,比如MODEL中的hasmany,belongto的关系,这些在yii1.0版本里就有了,另外laravel里的基础东西还很不完善,说个最简单的,在每个请求里我们很有可能需要获取当前请求的控制器和方法名比如Home和index,我想这是一个很普通的需求,但是laravel就只提供一个只能...[>>…]
keframe框架源代码及本网站的源代码开放
关于KeFrame KeFrame版本:2.0[制作日期:2016年3月14日] -------------------------------------------------------------------------------- KeFrame是一个个人开发的简单PHP框架。网上已经有太多的框架,我写此框架只是想有一个简单小巧、拥有基本功能、用起来顺手的框架,于是KeFrame诞生了。如果你觉得去研究市面上的框架比较费力的话,你可以从研究此框架入手。 基本特点: MVC开发模式 配置化 支持数据关系模型 访问日志、慢日志、错误日志的记录 前后台的分离 要求p...[>>…]
PHP实现捕获程序中的所有错误
PHP的错误等级分为notice,warning,还有error以及用户自定义错误。对于用户自定义错误本身就是用户触发的错误,当然不存在捕获的问题。对于另外的三类错误的捕获,我们当然能想到set_error_handler(array('Exception','errorHandle'));方法来设置使用某一个方法来显示错误,但注意看一下手册,手册上有提示:以下级别的错误不能由用户定义的函数来处理:E_ERROR、E_PARSE、E_CORE_ERROR、E_CORE_WARNING、E_COMPILE_ERROR、E_COMPILE_WARNING,和在调用set_error_handler() 函数所在文件...[>>…]
使用redis时尽量使用hashget/hashset,少用get/set?
网上多有评论说hashget/hashset的效率比get/set高,并建议在使用redis时尽量使用hash,少使用get/set的键值。这里有一段简单的对比hashset和set的性能比较,各执行1000次的数据插入: $redis=newRedis(); $redis->connect('127.0.0.1','6379'); $char=''; //set $t=microtime(true); for($i=0;$i<1000;$i++) { $key.=rand().rand(); $redis->set($key,$key); } $cost=microtime(true)-$t; echo$cost.'<br>'; //hset $t=microtime(true); for($i=0;$i<1000;$i++) { $key.=rand().rand(); $redis-...[>>…]
PDO10054错误:远程主机强迫关闭了一个现有的连接
在使用PHP连接MYSQL时,是不是偶尔会碰到10054错误:远程主机强迫关闭了一个现有的连接,以及MySQLserverhasgoneaway,问题其实不复杂。 首先这个问题出现的原因是:在连接数据库时使用了长连接,并且长连接很长时间没有再被使用从而被MYSQL关闭(我这里都用PHP使用PDO连接MYSQL示例)。这个时间有多长,可查看MYSQL里的配置项:wait_timeout,其默认值为28800秒(8小时),一般建议使用长连接,在PHP使用PDO连接MYSQL数据库时,使用newpdo($dsn,$username,$pass...[>>…]
scandir() has been disabled for security reasons
开发过程中如果遇到了某某函数因为安全原因被禁用,例如:scandir()hasbeendisabledforsecurityreasons,则是因为PHP的ini配置中的disable_functions里面有这个函数,解决方法你当然可以去修改php.ini的设置,也可以把这个敏感函数替换成其它的函数或自构方法。 因为之前我提前目录时一直使用opendir和readdir方法,在翻看百度的底层系统代码时看到了一个函数scandir,发现挺好,可以省下不少事,但放在我的阿里云里报了上面错误,很明显被禁用,不过被禁肯定有...[>>…]
linux查日志时常用的tail命令[转]
查看服务器日志时常用的命令: NAME(名称) tail-输出文件的末尾部分 SYNOPSIS(总览)../src/tail[OPTION]...[FILE]... DESCRIPTION(描述):在标准输出上显示每个FILE的最后10行.如果多于一个FILE,会一个接一个地显示,并在每个文件显示的首部给出文件名.如果没有FILE,或者FILE是-,那么就从标准输入上读取. --retry即使tail开始时就不能访问或者在tail运行后不能访问,也仍然不停地尝试打开文件.--只与-f合用时有用. -c,--bytes=N输出最后N个字节 -f,--follow[={namedescriptor}]当文件增长时,输出后续添加的数据;-f...[>>…]
大型网站架构里都需要哪些种类的服务器[转]
1、web服务器:最常见,内存要求不是很高但cpu要求较高,主要用于部署各种web应用,如带界面的web页面、不带界面的web服务等等。 2、数据库服务器:主要用于存储和查询数据。数据库已是各种系统实际上的标配,内存和CPU都要求极高,网络和硬件要求也不低。大中型网站还需要支持数据库的主从备份和容错,甚至多实例的数据库集群。通常,大中型的互联网应用会经历一个从单一的数据库服务器,到Master/Slave主从服务器,再到垂直分区(分库),然后再到水平分区(分表,sharding)的过程。而在这个过程中,Master/Slave...[>>…]
运行两redis实例试验redis服务器主从模式
之前曾经在项目开发中大量使用REDIS作数据缓存,不过因为并发量还不够大,未在主从模式下开发过业务,不过之前看到相关的文档,主坐配置其实很简单,和MYSQL主从同步的原理差不多,Redis主坐同步的内在原理就是以下5个步骤: (1)Slave服务器连接到Master服务器. (2)Slave服务器发送SYCN命令. (3)Master服务器备份数据库到.rdb文件. (4)Master服务器把.rdb文件传输给Slave服务器. (5)Slave服务器把.rdb文件数据导入到数据库中. 接下来在Master服务器上调用每一个命令都使用replicationFeedSlaves()来同步到Slave服务...[>>…]
今天晚上把这小站所用框架升为2.0
这几天将这个网站所使用的框架升级重写为2.0框架了,重申一下,这个站是用自己写的小框架开发的,只是为了实践我的这个框架而已,毕竟写个框架没有网站使用,没法知道它是否能正常运行呢,所以才有了这个小站,我希望今后的某一天我能有自己的产品,并且是使用了自己的框架的产品,所以我会一直前行。 在将框架由1.0升为2.0的过程中,确实是费了不少心思。实际我之所有想把框架升级重写,一是因为最近一年以来又见识了一些公司的框架,觉得我写的这个框架还得。特别是百度内...[>>…]