Category: Php / Pear / Mysql / Node.js

git: 回复误删文件, 从服务端拉取删除的文件, 删除文件后如何恢复, git checkout 用法总结

有时候不小心在git中rm了文件。怎么恢复呢?别急,咱们一步步来。 首先git status一把,看看此时工作区的状态 git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # deleted: system...... # 如果我们想要恢复,怎么办呢? git checkout -- system 这样一般就可以了,如果发现有报错: error: pathspec 'system' did not match any file(s) known to git. 那怎么办呢?可以用下面的方法: git reset HEA… Read More

MySQL 中事务的实现

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。 事务用来管理 insert,update,delete 语句 一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(D… Read More

浅入浅出了解 MySQL 和 InnoDB 区别

作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有所帮助。 本文中对于数据库的介绍以及研究都是在 MySQL 上进行的,如果涉及到了其他数据库的内容或者实现会在文中单独指出。 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有两个词非常容易混淆,也就是数… Read More

MySQL: 锁(行锁、表锁、页锁、乐观锁、悲观锁等)

锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或县城并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。从这一角度来说,锁对于数据库而言就显得尤为重要。 MySQL锁 相对于其他的数据库而言,MySQL的锁机制比较简单,最显著的特点就是不同的存储引擎支持不同的锁机制。根据不同的存储引擎,MySQL中锁的特性可以大致归纳如下: 行锁 表锁 页锁 MyISAM √ BDB √… Read More

phpmyadmin: 通过htaccess和htpasswd设置弹出登录窗口, PhpMyAdmin两步验证, Add an Extra Layer of Security, PhpMyAdmin Login Interface

  第一步:添加下面的代码到 /etc/apache2/sites-available/000-default.conf 或者 /etc/httpd/conf/httpd.conf Add these lines to the Apache configuration file (/etc/apache2/sites-available/000-default.conf or /etc/httpd/conf/httpd.conf): /etc/apache2/sites-available/000-default.conf – On Ubuntu <Directory /usr/share/phpmyadmi… Read More

Mysql: 禁用ONLY_FULL_GROUP_BY, 如何关闭ONLY_FULL_GROUP_BY, Error related to only_full_group_by when executing a query in MySql

  错误描述: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'support_desk.mod_users_groups.group_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by   解决方法,即使取消(disable) only_full_group_by 方法1: 在mysql命令行: mysql> set g… Read More

PHP: USPS API, USPS 运费计算, USPS接口, USPS Shipping Calculator

项目地址:https://github.com/scottbedard/shipping   USPS Shipping Calculator   安装 Instructions 注册web tools ID:The first step to requesting a shipping quote is injecting your USPS Web Tools ID. use Bedard\Shipping\Usps; $shipment = new Usps('YOUR-WEB-ID'); If you would like to run the calculator on the USPS testing server, call useTesting… Read More

MySQL: table is marked as crashed and last (automatic?) repair failed, WordPress 可以上传,媒体不显示图片

  登录 mysql,查询表的时候,出现错误: ERROR 144 - Table './extas_d47727/xzclf_ads' is marked as crashed and last (automatic?) repair failed 修复的方法: 首先停止 mysql 运行 sudo service mysql stop 然后定位到 mysql 数据库存放处 cd /var/lib/mysql/$DATABASE_NAME 有可能会显示无法权限进入,那样的话,就忽略上一步,直接用下面语句: sudo myisamchk -r -v -f /var/lib/mysql/{your-database-name}/{your-table-na… Read More

PHP: UPS API, UPS 运费计算, UPS接口

项目地址: https://github.com/gabrielbull/php-ups-api 安装:(了解composer看这里:PHP: Composer 依赖管理 Composer Cheat Sheet for developers 安装和用法) composer require gabrielbull/ups-api   前提 需要申请 UPS ACCESS KEY: 用法:(完整整合类见最下方) 1. 地址验证 Address Validation Class (Street Level) $address = new \Ups\Entity\Address(); $address->setAttentionName('Tes… Read More

PHP :html中直接运行php代码, Parsing .html as PHP in .htaccess for Apache 2.4

直接设置 .htaccess文件 之前用的是: Options +ExecCGI AddType application/x-httpd-php5-3 .htm .html .php AddHandler x-httpd-php5-3 .htm .html .php 但是最近发现失效,改用下面方法: <FilesMatch "\.html$"> SetHandler application/x-httpd-php </FilesMatch>   现在可以直接在html文件中书写php代码了!   本文:PHP :html中直接运行php代码, Parsing .html as PHP in .htaccess f… Read More

Mysql: UTF8, UTF8mb4 和 UTF-16区别, 数据库编码, 数据库保存Emoji表情

1. MySQL 存储编码:用 UTF-8 还是 UTF-16? MySQL 支持多种存储编码,如果存储中文,可以选用 GB2312、UTF-8 或 UTF-16(UCS2) 作为存储编码。如果还要考虑国际化,那么就只能用 UTF-8 或 UTF-16。 这两者中,究竟使用哪种编码更好呢? UTF-8 使用 1 个字节表示数字和英文字母,使用 2 个或 3 个字节表示一个汉字,而 UTF-16 则固定使用 2 个字节。因此,在中文的比重比较大的情况下,使用 UTF-16 会更节省空间。 但是,如果你的 MySQL 是作为 Web 的后端存储,就不能只考虑存储时的编码了,还需要考虑查询和输出的编码。由于网页中 HTML 标签的代码比重较大,所以在国际化的网站(如 Go… Read More

PHP:最好的PHP CURL 类, PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs

  PHP Curl Class: HTTP requests made easy PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs.   项目地址:https://github.com/php-curl-class/php-curl-class   安装 Installation To install PHP Curl Class, simply: $ composer require php-curl-class/php-curl-class For latest commit version: $ composer require php-… Read More

PHP: 数组成员批量添加前缀, Adding prefix strings to array values

问题: $myarray = array("test", "test2", "test3"); #转换为 $myarray = array("prefix_test", "prefix_test2", "prefix_test3");   方法一: $myarray = array("test", "test2", "test3"); array_walk($myarray, function(&$value, $key) { $value = 'prefix_'.$value; } ); 方法二: $myarray = array("test", "test2", "test3"); $array = array_map(function($v… Read More

PHP: Memcached安装, Memcache/Memcached的PHP操作手册, Memcached使用, Memcached教程

1. memcache和memcached区别   Memcache是什么? Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。 Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展所面临的问题,解决了很多大型数据缓存。它的API可供最流行的语言。 Memcache官方网站:http://memcached.org/ Memcached又是什么? Memcache是该系统… Read More