大象笔记

知者行之始,行者知之成

magento2.1 对系统环境的要求

服务器端 PHP 5.6 以上 内存 2G 以上。如果低于 2G,一定要设置交换分区 Nginx 1.8 以上 MySQL 5.6 以上 memory_limit 512M 以上 浏览器端 IE9 以上。估计是因为后台管理系统使用了 AngularJS 的原因 参考 PHP 5.5, 5.6, or 7.0—Ubuntu Magento 2.1.x technology stack requirements ...

阅读全文...

阿里云华北1地域云服务器预约迁移

凌晨3点爬了起来,趁着周末访问网站的人少把服务器进行迁移。当然,这不是我心血来潮,这次熬夜完全拜阿里云的 low b 技术能力所赐。 事情的起因,本月初收到了阿里云华北1地域云服务器预约迁移通知 重点内容概括: 您的服务器 IP 将发生变化 。。。 价格变贵 送一张代金券 服务器自动重启。。。可能重启失败 我只能说,阿里云非常 low, 升级服务居然要换 IP, 而且还要重启。最不要脸的是,升级完自动给你涨价格。 迁移这件事,体现了阿里云的技术非常渣,到了令人无语的地步。 通知全文如下 尊敬的用户您好: 您的以下实例,其所在物理机购置较早,为了提升性能和稳定性,我们需要分批次更换新机型。 ...

阅读全文...

mysql 命令行进行数据导出/导入

数据导出 mysqldump -uusername -p db_name > db_name.sql; 数据导入 mysql -uusername -p db_name < db_name.sql; ...

阅读全文...

使用 Bookmarklet 获取当前网页的 Markdown 地址

使用 markdown 记录笔记,最痛苦的地方莫过于写引用地址,既要复制对应网页的 title, 又要复制其 URL。 之前写过一个 chrome 插件用于生成当前页面的 markdown 地址,但是由于没有上传到插件商店,跨电脑没有办法同步,所以废弃了。之后又打算使用 greasemonkey 写个脚本,奈何 greasemonkey 做点击触发非常不方便 不做点击按钮触发,每次页面加载之后都弹窗出个提示框太碍事 做点击按钮触发,会破坏当前页面的原始效果 后来想到,之前见过浏览器书签可以写 js 的做法,是否可以使用书签的方式实现。Google 了一下,果然可以。 即,bookmarkl ...

阅读全文...

PHP mysql_query SQL 注入预防措施

目前维护的一套 ecshop 系统,由于使用的是 PHP 5.2 加之历史遗留代码安全意识淡薄,所以存在诸多 SQL 注入的隐患(大量拼接 SQL 字符串的行为)。而我入门 PHP 是通过 Laravel 官方教程开始的,没有写过原生 PHP SQL 查询,对如何规避 SQL 注入一无所知。 首先看一下 PHP 官方文档 mysql_query — Send a MySQL query This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or P ...

阅读全文...

输出 PHP 500 具体错误信息

今天修改 PHP 实现的一个 ajax 接口时,报了 500 错误。虽然可以使用 var_dump / echo 打印日志来判断具体是哪一行报错,但是具体的出错原因依然未知。 找到一个简单的方法,不需要安装 xdebug 就可以看到具体的错误信息。 在对应的 PHP 文件中加入 ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); 再次请求这个报错的接口,就可以看到 error msg 了 <br /> <b>Notice</b&gt ...

阅读全文...

福岛核电站泄漏事故

周末看了两部关于福岛核电站泄漏事故的纪录片。 一部是bbc拍摄的,一部是 nhk。两部纪录片的侧重点不太一样,bbc的主持人是一位核物理教授,内容更倾向于科普,nhk 则更倾向于核废炉的善后追踪报道。 一些要点: 废炉需要40年才能处理完。人力成本极高。但是钱少,风险大,愿意做的人越来越少。只有少数本地失业的人愿意从事。同时由于辐射总量限制,很多人干了一年就得退出,而新人又无法保证。 福岛的渔民无法维继捕鱼生活,只能做零工。而核电站则计划长期排放废水,能够卖鱼之日遥遥无期。 第一次知道核发电的原理,没想到这么简单。当一个中子轰击铀-235原子核时,这个原子核能分裂成两个较轻的原子核,同时产生2 ...

阅读全文...

四个月零23天,壹一会喊爸爸了

昨天还是一个字一个字的喊 ba 今天早上已经可以偶尔连续说出 baba 了 :) ...

阅读全文...

nginx location 常见匹配规则

整理一下 nginx location 的常见规则。 需要注意的是,Nginx Location 规则并不是按照书写顺序进行优先匹配的。 而是按照规则优先级进行匹配。 ~* case insensitive matching, 不区分大小写的正则匹配 ~ case sensitive matching, 即区分大小写的正则匹配 = exact match, 精确匹配 ^~ 匹配任何以会面规则开头的地址,匹配以后,不在往下检索正则,立即采用这一条。 实例 location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 ...

阅读全文...

解决 iOS 10 上 Google 日历不同步问题

Sunrise 日历服务被微软关闭之后,Ubuntu 上尝试使用 iCloud 网页版的日历,体验非常之差。 只能转投 Google 日历网页版,但是发现 iOS 10 内置的日历应用无法同步 Google 的日历。 即使删除账号,重建也不行。后来才知道需要重启系统... 操作方法: 设置 - 日历 - GMail - 删除当前 Google 账号 重启 iPhone 设置 - 日历 - 添加账号 - 添加对应的 Google 账号 打开日历 app, 点击下发的日历按钮,勾选 GMAIL 即可。 ...

阅读全文...

一次 PHP 网站被黑的经历

昨天同事发布新功能的时候,发现项目目录下多了两个新的目录。 /html /news 里面是随机字符串命名的 php 文件。看了代码的确不是我们写的,第一反应,我们被黑了! 第一时间的处理措施 排查 Nginx 日志,通过访问 html, news 目录定位可疑 IP, 然后通过历史 log 定位可疑文件 将恶意代码目录,可疑 gif 文件,及 Nginx 日志打包下载 删除恶意代码目录, 及 gif 文件 在阿里云防火墙上屏蔽到恶意 IP 确认是否还存在恶意访问 第二天早上8点又登录服务器确认了一下恶意请求是否还存在 123.126.113.91 - - [16/Feb/2017:16 ...

阅读全文...

Magento2 安装流程

下载源代码 git clone https://github.com/magento/magento2.git 安装依赖 composer install 报错 Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages. Problem 1 - The r ...

阅读全文...