顯示具有 PHP 標籤的文章。 顯示所有文章
顯示具有 PHP 標籤的文章。 顯示所有文章

2009年3月18日 星期三

cannot download file from web browser, only download the php file

the changes you need to make are in your httpd.conf
( e.g. /etc/httpd/conf/httpd.conf )

you need to ensure that you have the Addtype lines such as :

AddType application/x-httpd-php .php .php3 .php .phtml

once modified, 'apachectl restart' to reload apache and give it another test.

2008年12月29日 星期一

Apache 1.x & 2.0 + Php Installation

誰能幫我解決configure的問題

我在安裝apache和php的時候,查找文章說先編譯安裝php,然後編譯安裝apache.本人步驟如下
1 在apache目錄下 /configure --prefix=/home/apache
2. 在php下/configure --with-apache2=/home/soft/httpd-2.0.52
make
make install
3 最關鍵的地方,也是問題所在.
安裝好多文章的指示用
./configure --prefix=/home/apache --activate-module=src/modules/php4/libphp4.a --enable-module=php4




我不明白的地方是.為什麼configure告訴我--activate-module這個參數不可用.另外,我想知道這樣配置對嗎?應該如何?libphp.a是怎麼產生的? :?:
誰能幫我解決configure的問題

官方安裝說明:
###Apache-1.3.x
1. gunzip apache_xxx.tar.gz
2. tar -xvf apache_xxx.tar
3. gunzip php-xxx.tar.gz
4. tar -xvf php-xxx.tar
5. cd apache_xxx
6. ./configure --prefix=/www --enable-module=so
7. make
8. make install
9. cd ../php-xxx
10. 現在,配置你的 PHP。這是你定製 PHP 的不同選項的時候,例如要
加載哪些擴展庫。使用
./configure --help
來列出可用的選項。在下面的示例中我們只是簡單地配置 Apache 1
和 MySQL 支持。你的 apxs 的路徑可能和此示例中的不同。
./configure --with-mysql --with-apxs=/www/bin/apxs
11. make
12. make install
如果在安裝之後你決定修改配置選項,那麼只需重複以上最後三步。
只須重新啟動 Apache 就可以使新模塊生效。不需要重新編譯 Apache。
注意除非特別指出,'make install' 總是會安裝 PEAR,各種 PHP
工具例如 phpize,安裝 PHP CLI 以及其它。
13. 建立你的 php.ini 文件。
cp php.ini-dist /usr/local/lib/php.ini
你可以編輯 php.ini 來設置 PHP 選項。如果你想把 php.ini 放在
其它目錄,在第 10 步加上以下選項:
--with-config-file-path=/path
如果你選擇了 php.ini-recommended,確保閱讀一下其中的變更說明,
因為這些會影響到 PHP 的行為。
14. 編輯你的 httpd.conf 來加載 PHP 模塊。在 LoadModule 語句右邊的
路徑必須指向你系統中 PHP 模塊所在的路徑。上面的 make install
步驟可能已經添加了,但還是檢查確認一下。
對 PHP 4:
LoadModule php4_module libexec/libphp4.so
對 PHP 5:
LoadModule php5_module libexec/libphp5.so
15. 在 httpd.conf 中加入 AddModule 部分,在 ClearModuleList 下面的
某處,加上這一句:
對 PHP 4:
AddModule mod_php4.c
對 PHP 5:
AddModule mod_php5.c
16. 告訴 Apache 將哪些後綴作為 PHP 解析。例如,讓 Apache 把 .php
後綴的文件解析為 PHP。可以將任何後綴的文件解析為 PHP,只要在
以下語句中加入並用空格分開。我們添加一個 .phtml 來示例。
AddType application/x-httpd-php .php .phtml
為了將 .phps 作為 PHP 的源文件進行語法高亮顯示,還可以加上:
AddType application/x-httpd-php-source .phps
17. 用你通常的過程啟動 Apache。(你必須完全停止 Apache 再重新啟動,
而不是用 HUP 或者 USR1 信號使 Apache 重新加載。)


#####Apache-2.0.x
根據你的 Unix 系統和 Apache 安裝方法的不同,有很多方法停止和重啟動 Apache。以下是一些不同的 Apache/Unix 下重啟動 Apache 的典型命令。你需要把 /path/to/ 替換成你系統上的確切路徑。

例子 3-5. 重啟動 Apache 的示例命令

1. 在一些 Linux 和 SysV 的變種下:
/etc/rc.d/init.d/httpd restart

2. 使用 apachectl 腳本:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl 和 httpsdctl(使用了 OpenSSL),類似 apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. 使用了 mod_ssl,或其他 SSL 服務器,你可能需要手工重啟動:
/path/to/apachectl stop
/path/to/apachectl startssl



1. gzip -d httpd-2_0_NN.tar.gz
2. tar xvf httpd-2_0_NN.tar
3. gunzip php-NN.tar.gz
4. tar -xvf php-NN.tar
5. cd httpd-2_0_NN
6. ./configure --enable-so
7. make
8. make install

現在您已經將 Apache 2.0.NN 安裝在 /usr/local/apache。本安裝支持可裝載模塊
和標準的 MPM prefork。之後,可以使用如下命令啟動 Apache 服務器:
/usr/local/apache2/bin/apachectl start
如果成功,您可以停止 Apache 服務器並繼續安裝 PHP:
/usr/local/apache2/bin/apachectl stop.

9. cd ../php4-NN

10. 現在我們需要配置 PHP。在這裡您可以用各種各樣的參數來自定義PHP,例如啟動哪
些擴展功能包的支持等。用 ./configure --help 命令可以列出當前可用的所有參
數。在我們的例子中,我們將給出一個在有 MySQL 支持的 Apache 2 上進行配置的
範例。您本地的 apxs 的路徑可能會不同,事實上,在您的系統中,它可能被命名為
apxs2。

./configure --with-apxs2=/usr/local/apache2/bin/apxs

11. make
12. make install

如果您決定在安裝後改變配置選項,您只需重複最後的三步,然後需要重新啟動
Apache 使新模塊生效。無需重新編譯。

請注意,除非明確有提示,否則 'make install' 命令將安裝 PEAR、各種 PHP 工具
諸如 phpize,安裝 PHP CLI 等等。

13. 配置 php.ini

cp php.ini-dist /usr/local/lib/php.ini

您可以編輯 php.ini 文件以修改 PHP 的選項。如果您想要把此文件放到另外的位置,
您需要在步驟 10 添加 --with-config-file-path=/path 選項。

如果您選擇 php.ini -recommended,請務必閱讀其中的變更的列表,它們將影響
PHP 的執行。

14. 編輯 httpd.conf 文件以調用 PHP 模塊。LoadMolude 表達式右邊的路徑必須指向您
系統中的 PHP。以上的 make install 命令可能已經幫您完成了這些,但務必要檢查。

對於 PHP 4:
LoadModule php4_module modules/libphp4.so

對於 PHP 5:
LoadModule php5_module modules/libphp5.so

15. 告知 Apache 將特定的擴展名解析成 PHP,例如,我們讓 Apache 將擴展名 .php
解析成 PHP。您可以將任何擴展名指定為 PHP,只需添加它們,每一個用空格分隔。
例如,我們要添加 .phtml:

AddType application/x-httpd-php .php .phtml

通常,我們還將 .phps 擴展名設置成顯示高亮的 PHP 源文件,可以這樣來完成:

AddType application/x-httpd-php-source .phps

16. 啟動您的 Apache 服務器:
/usr/local/apache2/bin/apachectl start

誰能幫我解決configure的問題

我也很想搞這個!謝謝樓上兄弟的指點喲!


2008年12月28日 星期日

module php4_module is already loaded, skipping

service httpd graceful

[Q1.] [root@router html]# service httpd restart

Stopping httpd: [ OK ]
Starting httpd: [Wed Jan 04 00:05:20 2006] [warn] module php4_module is already loaded, skipping
[ OK ]
[root@router html]#

[A1.] 在/etc/httpd/conf.d/php.conf與/etc/httpd/conf/httpd.conf的php4_module互相衝突了,註解掉/etc/httpd/conf.d/php.conf中的php4_module

Could not reliably determine the server's fully qualified domain name

apache2 每次啟動都會出現下面的錯誤訊息:

apache2: Could not reliably determine the server's fully qualified domain name,using xxx.xxx.xxx.xx for ServerName

vi /etc/apache2/apache2.conf ( or vi /etc/httpd/conf/httpd.conf )

在裡面加入了一行:

ServerName www.OOXX.edu.tw

再重新apache2ctl restart

2008年7月15日 星期二

Check Access Right

import jr.object.JobSvc;

if (conn == null || conn.isClosed()) {
conn = null;
log.error("conn == null || conn.isClosed()");
errors.add("SystemError", new ActionMessage("hrms.error.systemError"));
forwardmapping = "result";
return mapping.findForward(forwardmapping);
}

if (!ValidateAccess.canAccessBySiteCodeServiceIdUserId(conn, siteCode, JobSvc.RCW_VIEW, userId)){
errors.add("accessrights",new ActionMessage("error.access.norights"));
saveErrors(request,errors);
if (conn == null && !conn.isClosed()) {
conn.close();
conn = null;
}
return mapping.findForward("Error");
}