2014-02-25 11:33:01
来 源
ITJS.CN
Apache
本文介绍安装Apache+MySQL+oracle+PHP详细过程以及错误解决方法,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

别人都会安装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的配置文件。

<Directory />Options FollowSymLinks   AllowOverride None   Order deny,allow

#Deny from all </Directory> 屏蔽 #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.二处

<VirtualHost *:80>

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

<VirtualHost *:80>

DocumentRoot /data0/htdocs/blog/web/interface

ServerName interface.mg.soft-world.com

<IfModule mod_php5.c>

php_value magic_quotes_gpc off

</IfModule>

</VirtualHost>

<VirtualHost *:80>

DocumentRoot /data0/htdocs/blog/web/process

ServerName 210.242.175.166

<IfModule mod_php5.c>

php_value magic_quotes_gpc off

</IfModule>

</VirtualHost>

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) 。。。。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。