Category: Php / Pear / Mysql / Node.js

分析MySQL Server has gone away报错, MySQL Server has gone away解决方案

  在执行一个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

Mysql: 查询纪录在一张表而不在另一张表, 查询在一个表而不在另一个表中的数据, Select rows from a table that are not in another

  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

MySQL多表查询核心优化, Mysql千万级连表查询优化, inner join、left join、right join、full outer join、union、union all

  概述 在一般的项目开发中,对数据表的多表查询是必不可少的。而对于存在大量数据量的情况时(例如百万级数据量),我们就需要从数据库的各个方面来进行优化,本文就先从多表查询开始。   数据背景 现假设有一个中学学校,学校中的年级有一年级、二年级、三年级,每个年级有两个班级。分别为101、102、201、202、301、302. 现在我们要为这个学校建立一个考试成绩统计系统。为此,我们对数据库的设计画了如下ER图:   根据ER图,我们设计了数据表,结构如下: class 班级表: +------------+---------+------+-----+---------+-------… Read More

Mysql:/var/lib/mysql清理, 清理mysql慢日志, mysql慢日志时间设置, mysql慢日志logrotate设置, 释放Linux服务器上的磁盘空间, MySQL慢日志分割

  MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10s以上的语句。 默认情况下,MySQL数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志或多或少会带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。   1. 找服务器大文件,释放Linux服务器上的磁盘空间 要找出正在使用的磁盘空间… Read More

解读 P++提案: P++ vs PHP 孰强孰弱, P++会成为PHP的里程碑吗?

  P++是php语言的一个变种,它具有更高级的功能和更少的历史包袱。 P++是由Zeev Suraski 在PHP社区中提出来的,他目前与php共存,但是它抛弃了php的历史遗留问题,所以更加地简洁,更加地优雅。P++不会是一个分支,它本质上会更严格,并且可能会更加大胆,具有向后兼容性。 我们都知道php是弱类型语言,这个给我们带来很大的好处,我们可以非常灵活地去操作一个变量,在php中,数组和对象转换也是非常地容易。然而,弱类型也带来了很多问题,比如我们经常对一个变量的类型错误使用,导致许多BUG的出现。然而P++坚持了严格类型,它使得PHP无论在性能和架构上都提升巨大。 与PHP本身一样,… Read More

PHP: 3dcart-scripts.php, 3dcart API实例, 3dcar API 用法,3dcart REST API

  App 有关回调网址和重定向URI的信息可以在这里找到: https://developer.3dcart.com/build-an-app/ 如果您的应用是支付网关,那么可以找到最需要关注的区域在底部。 网关结帐URL和网关后订单网址正如它所说的那样。这些是您希望购物车在结帐和下订单时重定向的网址。凭证1和2只是一个应该在商店中出现的标题,因此商家知道他们需要输入哪些凭据才能成功连接网关。这不是必需品。 有关使用REST API开发支付网关的更多信息,请访问此处并附上: https://github.com/3dcart/3dcartSampleGatewayApp 这里的文档是一个“骨架”应用… Read More

Mysql 替换最后一个字符, SQL语句去掉表中某字段最后一个字符,MySQL 正则表达式,mysql replace last characters in string if matched

  将表中某字段的所有非空值的最后一位截取掉 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

PHP: 应对恶劣网络环境,为php-curl设置超时限制,防止服务器卡死, cURL超时设置, curl_setopt设置

  一般我们访问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

php 发送邮件:PHPMailer, 利用PHPMailer发送邮件, gmail, qq 邮箱, yahoo邮箱, yeah.net,1&1 (1and1), hotmail, 163邮箱,Outlook

  参考: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

Mysql报错 mysql server has gone away, How to change max_allowed_packet size, max_allowed_packet in mySQL

  查看 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_pa​​cket = 256M(显然可以根据需要调整大小)。错误地把它放在文件的底部,所以… Read More

用于检查ISBN的程序, 亚马逊ISBN, 亚马逊ASIN, Program to check for ISBN

用于检查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

PHP编码规范(中文版): PSR-0

  自动加载规范 此规范已被弃用 – 本规范已于2014年10月21日被标记为弃用,目前最新的替代规范为 [PSR-4] 。 本文是为自动加载器(autoloader)实现通用自动加载,所需要遵循的编码规范。   规范说明 一个标准的 命名空间(namespace) 与 类(class) 名称的定义必须符合以下结构: \<Vendor Name>\(<Namespace>\)*<Class Name>; 其中Vendor Name为每个命名空间都必须要有的一个顶级命名空间名; 需要的话,每个命名空间下可以拥有多个子命名空间; 当根据完整的命名空间名从文件系统中载入… Read More

PHP编码规范(中文版): 导读

本文档是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