0%

点击查看 [ Linux 快速搭建 Apache + PHP 环境 ]

所有操作在默认的 /root 目录进行,且已经安装好 Apache 服务
安装步骤点击 [ Linux 源码安装 Apache ] 查看

1
2
3
# 安装依赖
yum install -y libxml2
yum install -y libxml2-devel

1、下载 PHP 源码包,这里使用的是 php-5.6.33.tar.gz
php-5.6.33.tar.gz (18.4 MB, 下载次数: 2)

2、解压和配置安装

1
2
3
4
5
tar -zxvf php-5.6.33.tar.gz 
cd php-5.6.33
# 配置
# 这里的 --with-apxs2=/usr/local/httpd/bin/apxs 配置的是 Apache 对 PHP 的支持
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs

# 有如下显示 则配置成功

1
2
# 编译,make 时间略长,等候即可
make
阅读全文 »

Iterable 接口在API中是这样描述的:

它只有一个方法:

Iterable.iterator()方法返回了一个Iterator,我们一般称它迭代器;

继续看 Iterator
它有三个方法:hasNext(),next(),remove();

迭代器是一种设计模式,它的功能是遍历并选择集合序列中的对象:
1.next():使用next()可以获得序列中的下一个元素(第一次迭代时,从第一个元素索引 0 开始);
2.hasNext():判断序列中是否还有下一个元素(比较当前迭代对象的索引和序列的 size 大小);
3.remove():将上一个迭代的元素移除并返回该元素;

Iterable 也被 Collection接口继承,实现 Iterable 接口的对象能够成为 Foreach 语句的执行对象,所以我们常用的集合类 Collection、List、Set都能使用 Foreach 遍历;

阅读全文 »

1、安装依赖

1
2
yum install -y libaio
yum -y install autoconf

2、下载和解压缩
#下载MySQL安装包,这里使用的是MySQL 5.5.58
mysql-5.5.58-linux-glibc2.12-x86_64.tar.gz (189.39 MB, 下载次数: 1)

1
2
3
    tar -zxvf mysql-5.5.58-linux-glibc2.12-x86_64.tar.gz
#将解压缩后的文件夹移动到/usr/local/并命名为mysql
mv mysql-5.5.58-linux-glibc2.12-x86_64 /usr/local/mysql

3、授权和安装

1
2
3
4
5
6
#添加用户,将使用该用户执行MySQL进程
useradd -s /bin/false -M mysql
#修改MySQL目录权限
chown -R mysql:mysql /usr/local/mysql
#安装并指定用户和data文件夹位置
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql
阅读全文 »

之前在一个帖子上传附件时,有一个8M左右的附件报错:

附件上传完成!成功 0 个,失败 1 个:
httpd-2.4.29.tar.gz: 内部服务器错误

解决方法:需要修改 php.ini 的文件上传大小配置
#首先需要打开http文件上传开关,这个一般默认是打开的
file_uploads on
#文件上传的最大值(按实际需求修改)
upload_max_filesize 1024m

光这个还不够,还需要修改表单提交最大接收值
post_max_size 1024m

配置完这些,正常来说是可以了,但是如果你的服务器带宽不够或者上传的文件过大,还需要修改一下页面超时时间,否则文件还没上传成功页面已经超时了;
参数根据实际情况修改,900秒15分钟足够大了;
max_execution_time = 900
max_input_time = 900
#PHP进程最大占用内存,这个也需要修改
memory_limit = 1024M

阅读全文 »

今天在公司数据库创建一个新数据库和用户,在对用户授权是出现 Access denied for user ‘root’@’localhost’ to database ‘xxxxx’ 错误

这个提示其实就是权限不足,使用grant命令需要有对应的权限,默认root用户是有这个权限的,检查发现我们公司数据库root用户居然没有这个权限;

在这里把对用的权限打开一下即可;
在可视化工具直接修改保存,或者在终端执行命令:
update mysql.user set Grant_priv = ‘Y’ where user = ‘root’;
然后再刷新权限即可
flush privileges;
贴图:

问题解决

开发过程中经常需要用到数据的导入导出功能,之前用的是POI,这次使用JXL,JXL相对于POI来说要轻量简洁许多,在数据量不大的情况下还是非常实用的。这里做一下使用JXL的学习记录。首先需要导入相应的jar包,pom.xml中添加如下内容即可

1
2
3
4
5
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>

看图说话:

0、数据实体类:

1、导出代码:

阅读全文 »

项目中经常需要用到自己的jar包或者是中心库没有的jar包;常用的方法一种是将jar包安装到本地仓库,然后在项目的pom.xml文件中引用,还有一种是将jar包放在项目中,比如WEB_INF/lib文件夹下.

在这里记录一下两种方式分别是怎么操作的

1、将jar包安装到本地仓库
很多开发工具都集成有将jar包安装到本地仓库的功能,比如eclipse,这里说下使用Maven命令安装jar包的方式;
在命令行使用命令:mvn install,注意命令不能换行,中间参数用空格分隔,格式如下:

1
2
3
4
5
6
mvn install:install-file
-DgroupId=<groupId> : 设置项目代码的包名(比如org.apache)
-DartifactId=<artifactId> : 设置项目名或模块名(比如shiro-core)
-Dversion=1.0.0 : 版本号(比如1.2.2)
-Dpackaging=jar : 文件类型(jar包)
-Dfile=<myfile.jar> : 需要安装的文件路径(比如/root/shiro-core-1.2.2.jar)

# 安装示例:

1
mvn install:install-file -DgroupId=org.apache -DartifactId=shiro-core -Dversion=1.2.2 -Dpackaging=jar -Dfile=/root/shiro-core-1.2.2.jar

# 这样执行安装完成之后,在Maven本地仓库的对应路径中就有了相应的jar包,可以在本地项目中直接引用了
# 比如以上命令执行后的安装位置就是:
repository/org/apache/shiro/shiro-core/1.2.2/shiro-core-1.2.2.jar

2、引用放在项目中的jar包
通常本地jar包在项目中的位置是:src/main/webapp/WEB-INF/lib,这里就以这个做示例
比如这里有一个jar文件:src/main/webapp/WEB-INF/lib/fastdfs_client_v1.20.jar
我们需要在项目的pom.xml文件中使用<dependency>标签来引入jar包
# 这里的 <groupId><artifactId><version>都是可以随便写的,但是不能没有,比如引用上面地址的jar包:

1
2
3
4
5
6
7
<dependency>  
<groupId>common</groupId>
<artifactId>fastdfs_client</artifactId>
<version>1.20</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/fastdfs_client_v1.20.jar</systemPath>
</dependency>

# <scope>必须填写system<systemPath>写上jar包相对于项目的地址就行了;

点击查看 [ Linux 源码安装 PHP ] [ Linux 快速搭建 Apache + PHP 环境 ]

所有操作在默认的 /root 目录进行,且当前环境已经安装gcc/gcc-c++,没有安装gcc的请执行yum安装
yum install -y gcc-c++

1、下载Apache源码,我这里用的是官网当前最新版本2.4.29,选择的是tar.gz包
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.29.tar.gz

httpd-2.4.29.tar.gz (8.24 MB, 下载次数: 6)

2、解压并配置Apache
tar -zxvf httpd-2.4.29.tar.gz
cd httpd-2.4.29
# 后面的参数是配置Apache安装目录 –prefix=/usr/local/httpd
./configure –prefix=/usr/local/httpd
# 到这里会报错,提示 configure: error: APR not found. 需要 先安装APR依赖包

3、下载APR源码编译安装
# 在这提一下,APR我没有用官网最新的1.6.3版本,会出现一个错误,可能因本人技术有限,暂未解决,所以退回到1.5版本
# 这里提供的是1.5.2版本下载

apr-1.5.2.tar.gz (1007.43 KB, 下载次数: 2)

# 解压
tar -zxvf apr-1.5.2.tar.gz
# 配置 编译 安装

1
2
3
4
cd apr-1.5.2 
./configure –prefix=/usr/local/apr
make
make install
阅读全文 »

我这里选择的是最为快捷的yum安装方式,源码编译安装方式另行开贴记录

点击查看 [ Linux 源码安装 Apache ] [ Linux 源码安装 PHP ]

1、安装Apache
yum install httpd -y
2、安装PHP
yum install php -y
3、修改Apache配置文件添加php支持
vim /etc/httpd/conf/httpd.conf
#加载libphp5.so模块
LoadModule php5_module modules/libphp5.so

#在下面代码中加入index.php

1
2
3
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

#添加完如下:

1
2
3
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

#在以下标签中加入php支持

阅读全文 »

在Linux删除文件这种事经常会做,rm -rf,但是有时候手滑一下rm -rf * 删除不该删除的文件就麻烦,万一再多抖一下 rm -rf /* 想想就怕。为了防止手滑,需要禁用或者更改rm命令,修改方法各种各样,这里我选了一个我比较喜欢的方案,在这里记录一下。

实际就是重新定义 rm ,每次rm实际上执行的是 mv 命令,会将文件移动到回收站目录 ~/.trash

别名按照个人习惯自定义即可


保存完毕之后需要 source .bashrc

使用方法:
rm –删除文件
cattrash –查看回收站文件
unrm –恢复文件
cleartrash –清空回收站

需要添加到 .bashrc 的命令如下,贴到 .bashrc 最后面即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 初始化回收站目录
mkdir -p ~/.trash
# 设置别名
alias rm=trash
alias cattrash='ls ~/.trash'
alias unrm=undelfile
alias cleartrash=cleartrash
# 从回收站恢复指定文件到当前目录
undelfile()
{
mv -i ~/.trash/$@ ./
}
# 移动文件到回收站
trash()
{
mv $@ ~/.trash/
}
# 清空回收站
cleartrash()
{
read -p "清空回收站? [y/n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
}