LNMP安装记

十 26th, 2011  
0

Comments

给新买的服务器配置LNMP环境,由于是初次搞nginx,上网找教程的时候偶然发现了“LNMP一键安装包”,机器系统是redhat4,但是安装的时候选的是centos.sh,出了诸多问题:

  • 3306端口占用(系统自带mysql未kill造成)
  • 80端口占用(ngnix启了俩次)
  • 最变态的问题“502错误及/usr/local/php/sbin/php-fpm: 没有那个文件或目录”(搞了多次不成功,最后把所有东西全部卸掉,服务重新停掉安装一次成功)

不管过程如何,结果是lnmp安装完成,所有服务启了。这个lnmp的一键安装工具挺好使,如果不想一键可以打开centos.sh文件做参考,其实就是所有sh命令集成了,强烈推荐。

linux设置mysql/apache开机启动

三 25th, 2011  , ,
0

Comments

推荐采取服务的方式
mysql设为linux服务

cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig –level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql5/
service mysqld start

1 cd /etc/init.d

2 vi apache2

3 粘贴以下代码

========================================
#!/bin/sh
# description: Apache auto start-stop script.

# chkconfig: – 85 15
APACHE_HOME=/usr/local/apache2
APACHE_OWNER=root
if [ ! -f "$APACHE_HOME/bin/apachectl" ]
then
echo “Apache startup: cannot start”
exit
fi
case “$1″ in
‘start’)
su – $APACHE_OWNER -c “$APACHE_HOME/bin/apachectl start”
;;
‘stop’)
su – $APACHE_OWNER -c “$APACHE_HOME/bin/apachectl stop”
;;
‘restart’)
su – $APACHE_OWNER -c “$APACHE_HOME/bin/apachectl restart”
;;
esac
========================================

4 chmod +x apache2

5 chkconfig –add apache2

6 chkconfig –level 345 apache2 on

7 service apache2 start 启动apache server

8 重新启动Linux,并验证Apache是否随Linux启动

span宽度有效且不换行

十一 2nd, 2010  , ,
0

Comments

span标记的样式设定width属性,会发现不会产生效果。
果设置display:block,width属性生效,但是此时的span跟div一样了。
如果设置display:inline-block,则span并列在同行,而且width属性生效。

元素display属性的常见值说明:
block:块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行。
inline:内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行。
inline-block:将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内。
none:隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间。

span标记的样式设定width属性,会发现不会产生效果。

果设置display:block,width属性生效,但是此时的span跟div一样了。

如果设置display:inline-block,则span并列在同行,而且width属性生效。

元素display属性的常见值说明:

block:块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行。

inline:内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行。

inline-block:将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内。

none:隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间。

linux服务器中不支持soap及bcmul函数的结局方法

三 3rd, 2010  , ,
0

Comments

新的程序里用了webserice接口,部到服务器,先是提示:bcmul() 函数不可用,网上搜索一番,得知这是php的高精度函数,需要在编译php的时候加入此模块,于是在编译脚本里增添 “–enable-bcmath” 后重新编译、重启apache然后此错误解决;

然后有遇到报错“Class ‘SoapClient’ not found”,网上搜索有很多解决办法,总结如下:

1.把php的扩展打开;

对于此我要说一下,很多人总喜欢以偏概全,因为windows服务器上的结局办法就是把extension=php_soap.dll的扩展打开,但是这对linux压根没用,所以失败;

2.扩展编译extension = “soap.so”;

这个方法算是比较靠谱的,OCI8模块大多也通过此方式安装扩展,这里要用到所谓的phpize,但是不知道是我人品问题还是怎么搞的,这样编译的oci也不成功,编译的soap也不成功

3.编译脚本里加入“–enable-soap”;

这是最后解决问题的办法,与上面的高进度函数库类似,重新编译一下php就好了,问题解决。

总结:最近几天在配一台64位redhat AS 5.1服务器的环境,gd和oci这俩扩展都快烦死我了,网上的文章参照了一堆,但是发现个问题,就是网上很多文章都是抄袭,一种解决办法找了好几十个网站上都是一样的,包括语句中的语病,很多技术人员这是对自己不负责任,如果你真的领悟了,自己写一下就行了,不领悟就别摘抄,既丢人又让搜索增加难度;

IE6下PNG透明背景解决方法

十二 27th, 2009  , , , ,
1

Comments

虽然FF和IE7以上浏览器版本已经解决png背景透明的问题,但是每次做页面都要考虑IE6那部分用户的存在,所以纠结不已,在网上胡乱找了一通,终于找着一个可以解决问题的办法,是不是最佳办法就不知道了,反正是我找的方法里比较靠谱的,如下:

http://www.dillerdesign.com/experiment/DD_belatedPNG/

大概的意思写的很明白了,就是最初要将这个js引入页面,然后判断是否为IE6,如果是就执行一个js函数,此js函数的参数就是含png透明北京设置相关的css的class或者id名,问题解决!

PHP获取Oracle数据乱码问题

九 27th, 2009
0

Comments

情况是这样的:

  

oracle的编码是GBK,PHP页面的编码是UTF-8,在PHP的页面进行了一次iconv转码,以保证编码统一

 

出的问题是:

不管转码不转码,页面上从oracle获取的中文始终显示为“?”,即一个个的问号。

 

解决问题:

从mysql查询的角度出发,我觉得是少了set names ***,但问了DBA,oracle没有相关的命令行,所以排出这个问题;

又把问题的集中点放在转码上,折腾半小时,把程序里各个地方都加了测试参数,发现根源上的数据就有问题,不在转码上,于是写了单独一个php的oracle的查询页用来测试,结果如我所想还是乱码,所以立刻排出页面的问题;

最后在google的帮助下找到一篇问章,说是需要在init.d下的httpd里引入环境变量,由于本机没有那个启动文件,所以只能在apachectl里加入如下代码:

export NLS_LANGUAGE=”SIMPLIFIED CHINESE”

 重启apache服务,问题解决!!

plsql高版本无法设置Fixedsys字体解决办法(win7&winXP适用)

七 13th, 2009  , , , ,
0

Comments

设置如下:
Tools->Preferences->Oracle->Options->Unicode enabled 勾去掉就可以再次看到Fixedsys 字体了

如果你用的是win7,那么还需要进行如下设置:

打开 “控制面板->外观和个性化->字体” 在做边栏有 “字体设置”,点开后将 “根据语言设置隐藏字体”前面的勾去了,这样就可以自由设置了,ue和plsql在win7下设置不了fixedays字体都是这个原因;

转载:从SQL语言的分类谈COMMIT和ROLLBACK的用法

三 26th, 2009  , , ,
0

Comments

从功能上划分,SQL语言可以分为DDL,DML和DCL三大类。

  1. DDL(Data Definition Language)
    数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 ;
    CREATE—创建表
    ALTER—修改表
    DROP—删除表
  2. DML(Data Manipulation Language)
    数据操纵语言,SQL中处理数据等操作统称为数据操纵语言 ;
    INSERT—数据的插入
    DELETE—数据的删除
    UPDATE—数据的修改
    SELECT—数据的查询
  3. DCL(Data Control Language)
    数据控制语言,用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等;
    GRANT—授权。
    ROLLBACK—回滚
    COMMIT—提交。

提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。

(1) 显式提交

用COMMIT命令直接完成的提交为显式提交。

(2) 隐式提交

用SQL命令间接完成的提交为隐式提交。这些命令是:

ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,

EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

(3) 自动提交

若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,

系统将自动进行提交,这就是自动提交。其格式为: SQL>SET AUTOCOMMIT ON;

COMMIT / ROLLBACK这两个命令用的时候要小心。 COMMIT / ROLLBACK 都是用在执行 DML语句(INSERT / DELETE / UPDATE / SELECT )之后的。DML 语句,执行完之后,处理的数据,都会放在回滚段中(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户执行 COMMIT / ROLLBACK后,放在回滚段中的数据就会被删除。

(SELECT 语句执行后,数据都存在共享池。提供给其他人查询相同的数据时,直接在共享池中提取,不用再去数据库中提取,提高了数据查询的速度。)

所有的 DML 语句都是要显式提交的,也就是说要在执行完DML语句之后,执行 COMMIT 。而其他的诸如 DDL 语句的,都是隐式提交的。也就是说,在运行那些非 DML 语句后,数据库已经进行了隐式提交,例如 CREATE TABLE,在运行脚本后,表已经建好了,并不在需要你再进行显式提交。

文章出处:http://www.diybl.com/course/7_databases/sql/sqlServer/2007115/84388.html

MyEclipse 快捷键大全

三 11th, 2009  , ,
0

Comments

MyEclipse 快捷键大全
(1)Ctrl+M切换窗口的大小
(2)Ctrl+Q跳到最后一次的编辑处
(3)F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。
          F3跳到声明或定义的地方。
          F5单步调试进入函数内部。
          F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。
          F7由函数内部返回到调用处。
          F8一直执行到下一个断点。
(4)Ctrl+Pg~对于XML文件是切换代码和图示窗口
(5)Ctrl+Alt+I看Java文件中变量的相关信息
(6)Ctrl+PgUp对于代码窗口是打开“Show List”下拉框,在此下拉框里显示有最近曾打开的文件
(7)Ctrl+/ 在代码窗口中是这种//~注释。
          Ctrl+Shift+/ 在代码窗口中是这种/*~*/注释,在JSP文件窗口中是<!–~–>。
(8)Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮) 当点击某个标记时可使本页面中其他地方的此标记黄色凸显,并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处。
(9)右击窗口的左边框即加断点的地方选Show Line Numbers可以加行号。
(10)Ctrl+I格式化激活的元素Format Active Elements。
            Ctrl+Shift+F格式化文件Format Document。
(11)Ctrl+S保存当前文件。
            Ctrl+Shift+S保存所有未保存的文件。
(12)Ctrl+Shift+M(先把光标放在需导入包的类名上) 作用是加Import语句。
            Ctrl+Shift+O作用是缺少的Import语句被加入,多余的Import语句被删除。
(13)Ctrl+Space提示键入内容即Content Assist,此时要将输入法中Chinese(Simplified)IME-Ime/Nonlme Toggle的快捷键(用于切换英文和其他文字)改成其他的如改成Ctrl+Shift+Z,同时在“Text Service and Input Languages”对话框中删掉Chinese(PRC)下面的其他中文输入法只保留紫光输入法,此时按Ctrl+Shift+Z将在英文和紫光中文之间切换。
            Ctrl+Shift+Space提示信息即Context Information。
(14)Ctrl+D删除当前行。
(15)双击窗口的左边框可以加断点。
(16)在.jap.或.java等文件中右键选“Campare With”或“Replace With”可以找到所有操作的历史记录。
(17)在菜单中选Window-Show View-Navigator可调出导航功能窗。
(18)Ctrl+1 快速修复(最经典的快捷键,就不用多说了)

Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)

Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)

Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性

Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)

Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)

Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)

Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)

Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)

Ctrl+Shift+F4 关闭所有打开的Editer

Ctrl+Shift+X 把当前选中的文本全部变味小写

Ctrl+Shift+Y 把当前选中的文本全部变为小写

Ctrl+Shift+F 格式化当前代码

Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)

Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)

Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)

Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)

Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)

Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)

Alt+Shift+I 合并变量(可能这样说有点不妥Inline)

Alt+Shift+V 移动函数和变量(不怎么常用)

Alt+Shift+Z 重构的后悔药(Undo)

备用信息,来源于互联网!

Tomcat配置虚拟路径

二 17th, 2009  , , ,
0

Comments

在Tomcat5.5及以上的版本中配置虚拟路径很方便,无需重启Tomcat;
新建一个xml文件,写入下列内容:



其中path=”/jsp”表示配置虚拟目录的名称,docBase=”D:/jsp”表示虚拟目录指向的实际目录。

将此文件保存在Tomcat安装目录的conf/Catalina/localhost文件夹下,命名为jsp.xml。

保存后,Tomcat5.5会自动更新配置。

注:虚拟目录xml文件的命名规则是:虚拟目录的名称为xml文件的文件名,若此处虚拟目录的名称为/jsp,则xml文件名为jsp.xml

在地址栏内输入http://IP:8080/jsp/*.jsp访问即可。

文章来源:Tomcat5.5中配置虚拟路径