作者:xin丶儿_462 | 来源:互联网 | 2014-05-28 10:53
别人都会安装APACHE,而不会安装nginx,而我上反过来。。。。为了这个,老大还让我加班到深夜,无语。。。。。。一、Apache安装、编译:tarxzvfhttpd-2.2.14.tar.gzcdhttpd-2.2.14./configure--prefix/usr/local/apache2--enable-mo
别人都会安装APACHE,而不会安装nginx,而我上反过来。 。。。为了这个,老大还让我加班到深夜,无语。。。。。。
一、Apache安装、编译:
tar xzvf httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure --prefix=/usr/local/apache2 --enable-module=so
make
make install
二、php的安装:
#./configure --prefix=/usr/local/webserver/php
--with-config-file-path=/usr/local/webserver/php/etc
--with-mysql=/usr/local/webserver/mysql
--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config
--with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir
--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml
--disable-rpath --enable-discard-path --enable-safe-mode
--enable-bcmath --enable-shmop --enable-sysvsem
--enable-inline-optimization --with-curl --with-curlwrappers
--enable-mbregex --enable-mbstring --with-mcrypt --with-gd
--enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl
--enable-sockets --with-xmlrpc --enable-zip --enable-soap
--without-pear --with-oci8=instantclient
--with-apxs2=/usr/local/apache2/bin/apxs
#make ZEND_EXTRA_LIBS='-liconv'
#make install
三. 可能遇到的问题,即解决方法。
1.复制PHP.INI文件到正确位置
在PHP目录下运行
cp php.ini-dist /usr/local/webserver/php/etc/php.ini
make后面必须加参数,否则报undefined ....
php 中要加的编译选项:
--with-apxs2=/usr/local/apache2/bin/apxs
config php时可能会出这样的问题,找不到libiconv.so.2
在/usr/local/lib下可以找到libiconv.so.2,把/usr/local/lib加到路径中也不行。
在/etc/ld.so.conf中加一行/usr/local/lib,运行ldconfig。再运行apache,OK。如下:#vim
/etc/ld.so.conf 添加:/usr/local/lib
2.可能遇到:Fatal error: Call to undefined function
OCILogon();这是因为oic8的扩展没有开启或安装好!png的图片不显示。
解决方法:phpinfo();看GD库和OIC8模块是否开启,安装。如果没有,重新安装,检查安装是否有错。
如安装过程没有错, 再找到httpd.conf的配置文件。
Options FollowSymLinks
AllowOverride None Order deny,allow
#Deny from all 屏蔽 #Deny
from all。重起apache 即可。
3.安装apache时出现如下错误:
checking size of long int... 0
checking Oracle Instant Client directory... configure: error:
Oracle Instant Client directory
/usr/lib/oracle/.../client/lib not found. Try
--with-oci8=instantclient,DIR
出现此错误很可能是,安装包检查机器码时错误,此次错误是。安装检查系统时,运行安装32位的,本机是64位。解决方法:进入 #vim
./configure 搜索:Oracle Instant Client directory
在上方修改文件,直间安装64位,既可。
4.Php连接oracle时出现:Warning: ocilogon() [function.ocilogon]:
ORA-12514: TNS:listener does not currently know of service
requested in connect descriptor in
此是因为没有安装client软件包,或者是tnsnames.ora没有配置好。
三个包名:oracle-instantclient-devel-10.2.0.3-1.x86_64.rpm
oracle-instantclient-sqlplus-10.2.0.3-1.x86_64.rpm
oracle-instantclient-basic-10.2.0.3-1.x86_64.rpm
可根据http://blog.s135.com/post/411/ 安装。
Tnsname.ora文件的配置如下:
RCDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST
= rcdb)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rcdb)
)
)
如果还出现如此问题。就检查PHP配置数据库文件是否有误。var $database = "rcdb/rcdb";
如上,在填写数据时,有两种方式:一种是数据库名,另外一种就是数据名和主机名。问题解决。
5.系统重启apache出现VirtualHost overlap on port 80
解决方法:
编辑虚拟主机配置文件,改两处地方就可以了。
1.一处
NameVirtualHost *:80
2.二处
6.运行PHP时,有可能出现PHP纯代码;这里是因为没有加载
LoadModule php5_module
modules/libphp5.so
包。检查httpd.conf是否加载如此包。检查机器上是否有如此包。如果没有再安装apache.或从别的复制过来。
7.httpd.conf配置需知:
DocumentRoot "/data0/htdocs/blog/web/process" 此指定WEB虚拟目录
DirectoryIndex index.php index.html 指定加载文件的扩展名
以下,是指定访问的域名和虚拟路径。
NameVirtualHost *:80
DocumentRoot
/data0/htdocs/blog/web/interface
ServerName interface.mg.soft-world.com
php_value magic_quotes_gpc off
DocumentRoot
/data0/htdocs/blog/web/process
ServerName 210.242.175.166
php_value magic_quotes_gpc off
8.linux 数据库建立删除试图工具。进入oracle用户。运行#dbca
9. SQLException: ORA-01795 异常
最土最土的解决方法可能就是:
UPDATE MERCHANT_ID SET STATUS = ''A'' WHERE MERCHANT_ID IN
(1,2,3,4,5,6,7,8,9,10......999)
OR MERCHANT_ID IN (1000,1001,1002.....1997,1998) 。。。。