wordpress使用php7报错问题

博客刚刚升级到php7发现,博客打不开,报500错误,在php.ini打开错误报告
display_errors = On
重启webserver,发现php代码报
Parse error: syntax error, unexpected ‘new’ (T_NEW) in /home/wwwroot/xxx.com/wp-content/plugins/db-cache-reloaded-fix/db-module.php on line 214

从目录来看貌似是插件报错,猜测是 DB Cache Reloaded Fix。猜测是插件不兼容引起的,随后切换到php5.6中,进入后台关闭了插件,然后切换到php7中,刷新成功。

发表在 笔记 | 标签为 , | 2条评论

php7编译安装

wget http://cn2.php.net/distributions/php-7.0.0.tar.gz
tar xvf php-7.0.0.tar.gz
cd php-7.0.0
./configure  --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo

若出现如下错误
ext/gd/libgd/.libs/gdkanji.o: In function `do_convert’:
/root/php-7.0.0/ext/gd/libgd/gdkanji.c:349: undefined reference to `libiconv_open’
/root/php-7.0.0/ext/gd/libgd/gdkanji.c:364: undefined reference to `libiconv’
/root/php-7.0.0/ext/gd/libgd/gdkanji.c:380: undefined reference to `libiconv_close’
ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_dtor’:
/root/php-7.0.0/ext/iconv/iconv.c:2557: undefined reference to `libiconv_close’
ext/iconv/.libs/iconv.o: In function `_php_iconv_strlen’:
/root/php-7.0.0/ext/iconv/iconv.c:755: undefined reference to `libiconv_open’
/root/php-7.0.0/ext/iconv/iconv.c:779: undefined reference to `libiconv’
/root/php-7.0.0/ext/iconv/iconv.c:813: undefined reference to `libiconv_close’
ext/iconv/.libs/iconv.o: In function `_php_iconv_appendl’:
/root/php-7.0.0/ext/iconv/iconv.c:474: undefined reference to `libiconv’
/root/php-7.0.0/ext/iconv/iconv.c:508: undefined reference to `libiconv’
ext/iconv/.libs/iconv.o: In function `_php_iconv_mime_decode’:
/root/php-7.0.0/ext/iconv/iconv.c:1505: undefined reference to `libiconv_open’
/root/php-7.0.0/ext/iconv/iconv.c:1998: undefined reference to `libiconv_close’
/root/php-7.0.0/ext/iconv/iconv.c:2001: undefined reference to `libiconv_close’
/root/php-7.0.0/ext/iconv/iconv.c:1616: undefined reference to `libiconv_close’
/root/php-7.0.0/ext/iconv/iconv.c:1619: undefined reference to `libiconv_open’
ext/iconv/.libs/iconv.o: In function `_php_iconv_substr’:
/root/php-7.0.0/ext/iconv/iconv.c:876: undefined reference to `libiconv_open’
/root/php-7.0.0/ext/iconv/iconv.c:900: undefined reference to `libiconv’
/root/php-7.0.0/ext/iconv/iconv.c:955: undefined reference to `libiconv_close

则编辑Makefile文件
找到
EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl -lcrypto -lcurl -lxml2 -lz -lm -lssl -lcrypto -lfreetype -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lssl -lcrypto -lcrypt
在最后添加 -liconv
然后

make && make install

发表在 笔记 | 标签为 , | 留下评论

mysql编译安装

tar xvf mysql-5.6.23.tar.gz
cd mysql-5.6.23

cmake编译

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

创建mysql组和mysql用户

groupadd mysql
useradd -g mysql mysql

修改访问权限

chown -R mysql:mysql /usr/local/mysql

初始化配置

cd /usr/local/mysql 
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql  初始化db

启动mysql服务

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start  --启动MySQL

错误处理办法
— Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:409 (MYSQL_CHECK_EDITLINE)

— Configuring incomplete, errors occurred!

apt-get install ncurses-dev

. * The server quit without updating PID file (/data/mysql/data/ubuntu.pid).

mkdir -p  /usr/local/mysql/data
vim my.cnf 

添加
datadir = /usr/local/mysql/data
参数

发表在 笔记 | 标签为 , | 留下评论

cc: internal compiler error: Killed解决办法

cc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
make: *** [ext/date/lib/parse_date.lo] Error 1

sudo mkdir -p /var/cache/swap/
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=512
sudo chmod 0600 /var/cache/swap/swap0
sudo mkswap /var/cache/swap/swap0 
sudo swapon /var/cache/swap/swap0

更改前
20151127235608

更改后
20151127235633

猜测可能是由于内存太小造成的,添加swap就好

发表在 笔记 | 标签为 | 留下评论

configure: error: Cannot find OpenSSL’s libraries解决办法

apt-get install pkg-config

https://bugs.php.net/bug.php?id=69510

发表在 笔记 | 标签为 , | 留下评论

解决Apache无法解析PHP问题

编辑httpd.conf文件
添加如下代码

LoadModule php5_module  modules/libphp5.so
AddType application/x-httpd-php .php
DirectoryIndex index.php index.htm index.html

发表在 笔记 | 标签为 , | 留下评论

解决Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerNam

vim /usr/local/apache2/conf/httpd.conf

编辑httpd.conf配置文件,找到
ServerName www.example.com:80
去掉注释,改为
ServerName 127.0.0.1:80

/usr/local/apache2/bin/apachectl restart

发表在 笔记 | 标签为 , | 留下评论

ext/iconv/.libs/iconv.o: In function `_php_iconv_appendl’:解决办法

Capture

编辑Makefile,找到如下一段

EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lrt -lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lxml2 -lssl -lcrypto -lcurl -lxml2 -lssl -lcrypto -lfreetype -lz -lxml2 -lxml2 -lcrypt -lxml2 -lxml2 -lxml2 -lxml2 -lssl -lcrypto -lcrypt

在最后添加 -liconv参数,保存退出。

make && make install

发表在 笔记 | 标签为 , | 留下评论

启动apache报undefined symbol: php_escape_html_entities解决办法

有说版本造成的,我的版本是apache 2.2 编译的是php5.3没有理由不兼容,试试下面的编译参数吧,我测试成功。

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc  --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo  --enable-debug --enable-mbstring --with-pear --disable-cgi

发表在 笔记 | 留下评论

Could not initialize SDL(No available video device) – exiting解决办法

qemu-system-i386  -hda winxp.img -m 512M -net nic,model=virtio -net user -redir tcp:3389::3389

qemu-system-i386 -curses -hda winxp.img -m 512M -net nic,model=virtio -net user -redir tcp:3389::3389

发表在 笔记 | 标签为 | 留下评论

php编译xdebug扩展

最近线上网站性能需要优化,需要编译xdebug来查看哪些需要优化的地方,下面记录下在linux下如何编译安装xdebug扩展

1.到http://xdebug.org/download.php下载合适的版本,我的版本是php5.2是linux 环境需要下载source code 来编译
下载地址,http://xdebug.org/files/xdebug-2.2.5.tgz

2.解压

tar xvf xdebug-2.2.5.tgz 
cd xdebug-2.2.5/

3.编译安装

./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

成功如下图
xdebug

4.将so文件引入到php.ini中
Capture

5.重启webserver

6.phpinfo验证

phpinfo

发表在 笔记 | 标签为 , | 留下评论

AttributeError:’module’ object has no attribute ‘AF_INET’解决办法

import socket;
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

运行的时候发现报如下错误消息
AttributeError:’module’ object has no attribute ‘AF_INET’
python在import的时候是根据脚本名字导入的,比如上面导入import socket则会去搜索socket.py文件,而我当前的脚本名字也是socket.py所有造成这样错误,解决办法是更改文件名。

发表在 笔记 | 标签为 | 留下评论

win7升级win10代码80240020解决办法

20150801073140

 

解决办法:

1.删除C:\Windows\SoftwareDistribution\Download\里面所有文件

2.使用管理员权限运行cmd,执行wuauclt.exe /updatenow命令

20150801073326

下载更新的过程中,C盘下面有个隐藏的$Windows.~BT目录,会渐渐变大,有时候处于140M 就不动了。别担心。下载还在继续。你可以通过路由器或者网络监控软件查看下行速率,如果一直处于高峰说明还在下载。(请无视本人的宽带速率)

20150802092312

20150802092338

无标题

发表在 经验分享 | 留下评论

ubuntu使用rz/sz传输文件

apt-get install lrzsz

rz -y

不覆盖请直接使用 rz 命令

sz test.zip

发表在 笔记 | 标签为 | 留下评论

zend studio 12.5破解

  1. 安装官方原版zend studio 12.5程序
  2. 下载破解补丁,下载地址
  3. 解压后将com.zend.verifier_12.5.1.v20150514-2003.jar,复制到安装目录中的plugins目录中
  4. 启动zend studio将注册码中的一行填入,我用的第一行,亲测可用。

 

发表在 笔记 | 留下评论

搭建GIT服务器使用ssh访问

yum install git
sudo adduser git

禁止git登录

vim /etc/passwd

git:x:503:503::/home/git:/bin/bash
改为
git:x:503:503::/home/git:/usr/bin/git-shell

创建项目

cd /home/git
mkdir wx
cd wx
git init --bare wx.git

使用puttygen生成密钥
软件下载地址
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
找到pageant.exe
打开后点击 Generate

然后在窗口滑动鼠标,进度条会不停走动,直到100%的时候显示如下

key

将 key 复制到远程服务器中的

/home/git/.ssh/authorized_keys

private.ppk私钥自己妥善保管

在客户端使用如下设置

git_set

url : ssh://git@ip:port/home/git/wx/wx.git
putty密:选择刚才保存的私钥

发表在 笔记 | 标签为 | 留下评论

mysql设置时区

在服务器上使用date命令查看时间
time

时间完全正确,可是在服务器上使用mysql的NOW()函数的时候
mysql_now

完全不对嘛,差了大概8个小时,猜测是时区造成

show variables like '%time_zone%';

variables

果然是UTC时区,而我本机使用的是CST时区

解决办法:
1.修改my.cnf配置
在my.cnf配置文件[mysqld]后面下面添加一行

default_time_zone = '+8:00'

2.也可以在执行Sql之前使用

set time_zone = '+8:00';

修改配置后重启mysql

service mysql restart 

验证

mysql_now

mysql_time_zone

发表在 笔记 | 留下评论

unixbench跑分测试(vultr,kvmla)

wget http://7j1xob.com1.z0.glb.clouddn.com/unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

1.vultr 768M + 单核

vultr_768M

2.opvevz.top 128M + 单核

openvz_128M

3.kvmla 256M + 双核

kvmla_256M

由于手上只有这些机器,而且内存不同,测试只能做个参考。

本地我测试了下我的vmware虚拟机 2G内存+4核

vmware

好惨,估计是硬盘没有Raid以及一些优化造成的。

购买地址
vultr:http://www.vultr.com/?ref=6826139
kvmla:http://www.kvmla.com/aff.php?aff=2139
openvz.top:https://openvz.top/client/aff.php?aff=064

发表在 经验分享 | 标签为 | 留下评论

flask+uwsgi报http405错误解决办法

报错如下
20150628234645
我把请求的URL贴到浏览器中执行完全OK 200状态码,可是远程请求的时候老是405错误,原来远程是POST请求
我的route还是写的GET所以报错了

解决方法:

@app.route("/api",methods=['GET'])

@app.route("/api",methods=['POST'])

发表在 笔记 | 标签为 , | 留下评论

js点击页面空白地方触发事件

最近有个需求就是在点击页面空白的地方,触发一个事件来关闭。
[javascript title=”参考”]
$(document).delegate("body", "click", function(e) {
var _con = $(‘.test’);//监听指定区域
if(!_con.is(e.target) && _con.has(e.target).length === 0){
//some code
}
});
[/javascript]

发表在 笔记 | 留下评论