别人都会安装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) 。。。。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。