Category: Php / Pear / Mysql / Node.js
在执行一个sql文件时mysql -h 127.0.0.1 -uroot study -e"source b.sql",报错MySQL server has gone away。上网查解决办法,按照网上的解决方法一步步操作,最终找到原因并且解决了,觉得有必要总结下这个问题发生的原因及解决办法,避免后面再继续踩坑。
原因1. MySQL 服务宕了
判断是否属于这个原因的方法很简单,执行以下命令,查看mysql的运行时长
$ mysql -uroot -p -e "show global status like 'uptime';"
+---------------+-------+
| Variable_name…
Read More
Table1:
+-----------+----------+------------+
| FirstName | LastName | BirthDate |
+-----------+----------+------------+
| Tia | Carrera | 1975-09-18 |
| Nikki | Taylor | 1972-03-04 |
| Yamila | Diaz | 1972-03-04 |
+-----------+----------+------------+
Table2:
+-----------+----------+------------+
| FirstName | LastName | Bir…
Read More
概述
在一般的项目开发中,对数据表的多表查询是必不可少的。而对于存在大量数据量的情况时(例如百万级数据量),我们就需要从数据库的各个方面来进行优化,本文就先从多表查询开始。
数据背景
现假设有一个中学学校,学校中的年级有一年级、二年级、三年级,每个年级有两个班级。分别为101、102、201、202、301、302.
现在我们要为这个学校建立一个考试成绩统计系统。为此,我们对数据库的设计画了如下ER图:
根据ER图,我们设计了数据表,结构如下:
class 班级表:
+------------+---------+------+-----+---------+-------…
Read More
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10s以上的语句。
默认情况下,MySQL数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志或多或少会带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。
1. 找服务器大文件,释放Linux服务器上的磁盘空间
要找出正在使用的磁盘空间…
Read More
P++是php语言的一个变种,它具有更高级的功能和更少的历史包袱。
P++是由Zeev Suraski 在PHP社区中提出来的,他目前与php共存,但是它抛弃了php的历史遗留问题,所以更加地简洁,更加地优雅。P++不会是一个分支,它本质上会更严格,并且可能会更加大胆,具有向后兼容性。
我们都知道php是弱类型语言,这个给我们带来很大的好处,我们可以非常灵活地去操作一个变量,在php中,数组和对象转换也是非常地容易。然而,弱类型也带来了很多问题,比如我们经常对一个变量的类型错误使用,导致许多BUG的出现。然而P++坚持了严格类型,它使得PHP无论在性能和架构上都提升巨大。
与PHP本身一样,…
Read More
首先我们需要知道 mysql.sock 在哪里? 通过下面的命令可以查询位置:
mysql> show variables like 'socket';
+-----------------------------------------+-------------------------------+
| Variable_name | Value
App
有关回调网址和重定向URI的信息可以在这里找到:
https://developer.3dcart.com/build-an-app/
如果您的应用是支付网关,那么可以找到最需要关注的区域在底部。
网关结帐URL和网关后订单网址正如它所说的那样。这些是您希望购物车在结帐和下订单时重定向的网址。凭证1和2只是一个应该在商店中出现的标题,因此商家知道他们需要输入哪些凭据才能成功连接网关。这不是必需品。
有关使用REST API开发支付网关的更多信息,请访问此处并附上:
https://github.com/3dcart/3dcartSampleGatewayApp
这里的文档是一个“骨架”应用…
Read More
将表中某字段的所有非空值的最后一位截取掉
update 表名 set 字段=substr(字段,1,length(字段)-1) where 字段 IS NOT NULL AND 字段!=''
实例:
# 直接替换为空
UPDATE tracking SET tracking_info = REPLACE( tracking_info, ';UPS:', '' ) WHERE tracking_info LIKE '%;UPS:%'
# ;UPS: 长度是 5
UPDATE tracking SET tracking_info = CONCAT( LEFT( tracking_info, LENGTH( tracking_info ) -5 ) , '' ) WHER…
Read More
一般我们访问HTTP方式很多,主要是:curl, socket, file_get_contents() 等方法。
如果碰到对方服务器一直没有响应的时候,我们就悲剧了,很容易把整个服务器搞死,所以在访问http的时候也需要考虑超时的问题。
CURL 是我们常用的一种比较靠谱的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等。
curl_setopt($ch, opt) 可以设置一些超时的设置,主要包括:
*(重要) CURLOPT_TIMEOUT 设置cURL允许执行的最长秒数。
*(重要) CURLOPT_TIMEOUT_MS 设置cURL允许执行的最长毫秒数。
(在cURL 7.16.2中被加入…
Read More
参考:PHPMailer 报错 SMTP Error: Could not authenticate. , Less secure app access, PHPMailer error: SMTP Error: Could not authenticate. Error: SMTP Error: Could not authenticate
phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。
phpMailer 的特点:
1、在邮件中包含多个 TO、CC、BCC 和 REPLY-TO。
2、平台应用广泛,支持的 SMTP 服务器包括 Sendmai…
Read More
查看 max_allowed_packet 默认值:
show variables like '%max_allowed_packet%
默认一般是 16M (16777216)
修改默认值:
max_allowed_packet=500M
方法如下:
1)打开终端
2)ssh root @ YOURIP
3)输入root密码
4)vi /etc/mysql/my.cnf
# /etc/my.cnf
[mysqld]
max_allowed_packet=16M
5)在[MYSQLD]部分下添加行:max_allowed_packet = 256M(显然可以根据需要调整大小)。错误地把它放在文件的底部,所以…
Read More
用于检查ISBN的程序, 亚马逊ISBN, 亚马逊ASIN, Program to check for ISBN[/caption]
一个ISBN(国际标准书号)是用来标识一本书的10位数字。
ISBN号的前九位用于表示书的标题,出版商和组,最后一位用于检查ISBN是否正确。
它的前9位可以取0到9之间的任何值,但最后的数字有时可能取值等于10; 这是通过将其写为’X’来完成的。
要验证ISBN,请计算第一个数字的10倍,再加上第二个数字的9倍,再加上第三个数字的8倍,依此类推,直到我们将最后一个数字加1次为止。如果最终数字除以11时没有余数,则代码是有效的ISBN。
…
Read More
自动加载规范
此规范已被弃用 – 本规范已于2014年10月21日被标记为弃用,目前最新的替代规范为 [PSR-4] 。
本文是为自动加载器(autoloader)实现通用自动加载,所需要遵循的编码规范。
规范说明
一个标准的 命名空间(namespace) 与 类(class) 名称的定义必须符合以下结构: \<Vendor Name>\(<Namespace>\)*<Class Name>;
其中Vendor Name为每个命名空间都必须要有的一个顶级命名空间名;
需要的话,每个命名空间下可以拥有多个子命名空间;
当根据完整的命名空间名从文件系统中载入…
Read More
本文档是PHP互操作性框架制定小组(PHP-FIG :PHP Framework Interoperability Group)制定的PHP编码规范(PSR:Proposing a Standards Recommendation)中译版。
目前官方已制定的规范包括以下六份文件:
PSR-0 (已弃用)
PSR-1
PSR-2
PSR-2补充
PSR-3
PSR-4
2014/04/25 添加PSR-2补充文件以及修改之前版本中的翻译不当与错误。
2014/07/31 添加PSR-4。
以下是原版的导读:
PHP互操作性框架制定小组
组建本小组的目的是,通过在各项目的代表之间讨论他们共同的编码规范,以制定一个…
Read More