1、下载最新版:xampp-linux-1.7.1-beta3.tar.gz : {( f s9 {8 r4 T3 [
来自网址:http://www.apachefriends.org/en/xampp-linux.html
8 e; k' C4 k- s6 f9 U! T! D0 k2、安装:#tar zxvf xampp-linux-1.7.1-beta3.tar.gz -C /opt
2 c& T; o* V T+ w 解压到/opt目录,生成Lampp文件夹 ; q5 }& X* x1 H, M9 h J9 ]
3、启动Xampp: #/opt/lampp/lampp start $ V4 J: s! Q% u
4、把自己做好的网页放入到/opt/lampp/htdoc文件夹下面;
! u/ z- B8 ]8 g5 [# S& X5、打开网页测试:http://192.168.1.1xx或http://192.168.1.xxx/index.html等等;
! R9 v% o% m8 i+ Z1 J# {9 d6、如果不能打开网页,可能是启动服务有问题,可重启电脑,再次使用 #/opt/lampp/lampp start启动服务,再试。
]6 ]& ^# i* @- A( L. z. O+ z9 }3 a6 q8 Q% [
5 X3 Y; [8 Y& e( i7 X- Y; }8 k, o*********************************************************************************************** ' A$ y) W8 h; p- h' ~6 Q4 t
8 W6 G; S& x2 Y
Xampp1.7.1所含软件包:
' p+ i- d5 Z0 A0 U+ _3 @# }Apache 2.2.6 + OpenSSL 0.9.8g ; g5 g3 }! T* i8 [8 e
MySQL 5.0.51 H+ B1 `7 e+ `) ?
PHP 5.2.5 & PHP 4.4.6 0 f1 W7 }7 D& L% E
phpMyAdmin 2.11.3
5 e1 |4 n' v$ L; N( ~FileZilla FTP Server 0.9.24 * t2 }# k& _* i v3 @
Mercury Mail Transport System v4.52 7 s$ [! j/ ?( v: n) C( I6 C+ S
, V: j6 F" |6 C! X) R" F安装完毕后,输入下面的命令就可以启动XAMPP了:
$ v# I! c% @: m$ ]. F
9 y: B+ F: W& o! \/opt/lampp/lampp start 0 k+ W/ b3 @; s) q. t3 T; [
6 x, T4 j2 \6 B. z% ^这时你会看到如下信息: * I# L9 Y) ~: P/ Q& C
& q$ p7 P2 i- t6 ^Starting XAMPP for Linux 1.7.1… 9 n7 X& X6 H, o$ j: z* X
% m3 R% \4 z4 R8 r# G, j* nXAMPP: Starting Apache with SSL (and PHP5)… + ]( E2 E7 z5 X) \" k
& Y! ?, p$ |" p& p6 Y/ H$ v6 K* gXAMPP: Starting MySQL… - P/ r+ @! V& @/ S! a- w
. _5 G! r$ u, l; F" C6 W- sXAMPP: Starting ProFTPD… - w. A3 q/ b @7 G9 O. k
) ?- Y* p" @9 W" N/ DXAMPP for Linux started.
) Z. K+ I) C& g8 {: f
: P4 W; w, `- E5 @1 B8 h' c其他启动参数如下:
+ e5 L; ?7 `' z6 K n
7 c& s& H3 s3 Xrestart 重启XAMPP - j; z7 t8 T+ L
% Q0 d2 @8 {" F8 O/ g, p
startapache 只启动Apache
& N3 P# E0 Q' k/ t
* Z# l8 b; M9 ]$ estartssl 启动Apache 的SSL 支持
- ?3 k* r1 W$ U( I4 h V* c* D3 J7 `5 O- J
startmysql 启动MySQL
6 ~) M3 g5 m- f1 w5 \: i/ x
4 }. K' ]3 d1 t7 |startftp 启动ProFTPD 6 E g' f% S+ a$ p g
4 e- s6 |9 U( f% k6 T! @9 _- _
stopapache 停止Apache. 9 S; M6 u, |3 R8 {; t& R
: H8 S j V3 B1 a6 U" D
stopssl 停止Apache 的SSL 支持
$ @7 c% C( |+ R) u) Y" _3 Y9 w" W. c2 J) F8 f4 b3 T, A( m2 x
stopmysql 停止 MySQL数据库 7 S) G0 m. P" ^; e
# Q& R4 b, V' `5 k7 mstopftp 停止ProFTPD 2 y% p/ e3 ]6 N& z
) ? J: b( h5 Q, i$ E! \$ H8 C/ k* D5 H4 \2 ?- U
***************************************************
9 g% O4 W$ }( O$ Q$ n! @* f% a( g8 X
" D M+ K( T/ M, ~8 p* I4 `
朋友问到了论坛中传2.7M的文件传不上去的问题。 & J9 L/ b0 }( I6 v! K; i
" C+ G; h, n; y; ? k5 l* J) |8 Q) u
虽然论坛管理端设置远大于这个限制,但还是上传不成功。 8 H; S% ^: h7 r* z% T- H3 z
. o. [7 c4 z9 v! t" B6 }4 t0 H其实还需要结束Apache进行修改来达到突破上传限制的影响,php.ini中共有三处修改:
2 E; m+ |/ M5 a$ |1 z) `7 m2 b
# i6 W. T) [" d/ v$ V7 u3 Z1、执行时间限制的延长或取消:
2 N2 g E l' I# N) pmax_execution_time 默认是30秒.改为 max_execution_time = 0 (0表示没有限制)或更大点的数字;
8 j7 {8 P- s3 ~9 u# _5 G9 }/ E. O
另一种方法是可以在php程序中加入set_time_limit();
3 `& r3 P+ [) d+ {* R# \2 B来设定页面最久执行时间. % Y3 o( _; @- F- A+ s1 f
set_time_limit(0);//0表示没有限制
+ ]( Q) N% [6 E( q0 q8 C8 A' [) H; z- H' @5 \7 ^; r
2、查找 post_max_size = 2M (默认为2M)改为想要的大小,如:post_max_size = 70M 1 ` I% `+ w# I
- p# s4 {5 q4 N
通常我们只做了这一步,以为就可以解决问题了。其实还需要看下面一步。 ( w1 e* @+ }& I9 c
1 D( E& N A1 \* m
3、upload_max_filesize 表示所上传的文件的最大值。
) W7 h1 @ C8 \% D; z" E查找upload_max_filesize,默认为8M改为
% R8 [1 L# X* n$ _$ @upload_max_filesize = 70M 4 b" k# a1 `9 X! j0 p* @& z" w
- O: u1 V: D: h& M: q需要注意的时,通常我们把post_max_size 大于 upload_max_filesize 的设置为好。
' e2 ]. X* ?& v, R/ F4 F8 V
' w v. v$ _# W6 X5 R# i1 w; D9 J: Y& Z" u
8 g* {+ ~2 Y/ A1 t' f2 P4 T
: S! y' N5 }! _! r. V. r# ~. c# Z
3 u7 f3 ], R% {/ v/ V# J! W
|' n3 I6 }0 _9 \解决Apache2+PHP上传文件大小限制的问题 ! ~, ~9 z0 w- V/ T* `; H
) \7 O4 O% q! { u$ K3 x3 o开始的时候知道要改php.ini,基本是改这几项: + z ^+ `+ ~3 @, n( T% ~" x% _8 c
: t8 S, V$ ^, P+ b& j/ U
max_execution_time = 30 0 o* {4 m/ s/ K8 y7 F
max_input_time = 60
- M+ S) v' G+ f& _/ Kmemory_limit = 8M - }* C- Z5 q2 ^
upload_max_filesize=8m
7 L4 Y2 f9 ?* n; \, ?, S8 v8 C1 [ n' Z
但改好后发现上传的文件还是不能超过512k,否则页面就出错,非常的郁闷。无论如何调大上面几项的参数都没有作用,然后又检查了httpd.conf文件,从头看了一遍还是没有发现问题。在退出conf目录的时候,偶然发现有conf.d目录,ls了一下竟看到有个php.conf。呵呵,vi php.conf发现内容如下:
/ K! V/ S: J1 Y& H) e& H
) t) N6 {) n6 O- P2 ~0 b7 ^' @# c# " D( o( }4 L" T$ Z$ }
# PHP is an HTML-embedded scripting language which attempts to make it
7 {) ~. M5 _ P! c4 J& Y7 U( V2 \) Q# easy for developers to write dynamically generated webpages. & k5 Z" h G1 E9 n$ f3 N: V
# : I# B- J& J( g
1 I0 h" G: F' a3 k3 ^, j& V& RLoadModule php4_module modules/libphp4.so
; J% m% u( f6 \ [+ t6 M- U6 f; p g8 ^, T5 e' n2 Z: n
AddType application/x-httpd-php php .php3 # G- m0 E4 c8 f8 c q; i
/ ~0 J6 A0 x. f# ?$ U: e# . S7 B* Y2 g0 i9 c8 U4 i+ |
# Cause the PHP interpreter handle files with a .php extension. & W' j8 R( c6 Z' r3 J, r
#
2 ?" E' A4 k& T( N$ d" N: u y) G- Y- \
SetOutputFilter PHP 1 D; L2 C* h; P0 _( k; V
SetInputFilter PHP
0 M' O. N& ^9 H: c; O) ELimitRequestBody 524288
5 C/ k2 |: e( T3 T" q$ @+ H& E! R. e, Z: q5 V" c1 [
% ]) m/ @" E5 w: ~! n" d+ a# 8 t% z- ]6 X" R& j
# Add index.php to the list of files that will be served as directory
- U5 j+ r3 t$ d$ t! Y* a; l# indexes. 5 b# M0 s" Q: G+ W5 `* i' u" E
#
* _; g' f' V5 k& C) C( B+ YDirectoryIndex index.php
6 p) l) B- r0 j# c0 x7 ]
/ l! H' M7 @4 S. k
1 w0 h& E# m {2 x看到那个524288吗,换算下就是512k。把它改成52428800,reload apache。经测试,可以上传几十兆的文件,问题解决。看来我对apache+php的配置了解还是不够全面,以后还要多多学习!
( W+ m/ H+ e m- `& ]1 e0 f- L0 I9 F
3 Z( C. s9 G* O0 H1 t9 r5 |. D+ |9 q: y1 b2 b* R( N
httpd [-D name] [-d directory] [-f file] [-C "directive] [-c directive] [-v] [-V] [-h] [-i] [-L] [-s] [-t] [-T] 9 E5 {3 s& A5 g
/etc/rc.d/init.d/http
2 N4 k" T/ l8 k, H4 U7 }$ E( K. @; s9 I5 }3 U
在apache的目录bin下, - {1 a' K, k3 S% b
运行:./apachectl start
/ s0 o3 x, C) ^3 ^停止:./apachectl stop
3 W! ^4 Y! ~ k r0 _3 f重起:./apachectl resart ) z- S0 X2 Y0 T4 a) ~
9 ~) s. q6 T! y1 e
# M' B" f- p/ X% j- Qhttpd start 0 i0 k. j% W# A; _6 K
ps -aux 能看到几个httpd 的进程! 2 t# t" ~- d$ Y
+ D3 T4 _) Y" k. O# \8 S
- c: j( d8 b% W+ F& ?& M2 R3 }! a, F6 S* E8 }. U
+ {7 [, d. g6 A& X
2 |4 |% U# [' T) l7 O1 p6 W**********************************************
3 ~* q' _* I4 o- z
' ~# @: K% H3 M8 r3 F3 G; Q5 G" j針對想讓 PHP 能夠處理大檔案, ex, 超過 100MB....
- e0 }9 g6 o7 h1 }分享一下我的 php 設定經驗, 以下是我的 Software Configuration, / v5 e( m& U( Y( V& } g' R# D& [
" L; C4 A( b. k8 D
OS: Red Hat Enterprise Linux AS 4.4 Compatible
# i" k3 }# a" mPHP: 4.3.9 ( w4 e; k* f* t
MYSQL: 4.1.20 % J1 f) ~ @) s$ z, E" P
. ~" j; N* a3 B4 I5 A
用 root 身分編輯 /etc/php.ini , 修改以下資訊
" a# K U h5 G) [) o$ w
: z7 c% z! K/ z) ymax_execution_time = 300 ; 每個 script 執行時間上限, 單位是秒. % M1 Y4 M7 o1 I+ I# e6 a3 @
max_input_time = 300 ; 每個 script 處理輸入資料可用時間上限, 單位是秒. 3 m" v1 a! Z4 p7 k
memory_limit = 999M ; 每個執行中的 script 最多可使用的系統記憶體資源.
5 {/ Q% S8 a8 H- }post_max_size = 800M ; PHP 能夠接受發表文章的容量上限. 1 K. |* x: ]4 N2 I" l
file_uploads = On ; 這個不用改, 安裝完就是 On 了, 請確定你的也是 On.
2 f- l/ `( L( Q9 L4 \! cupload_max_filesize = 800M ; 允許上傳檔案的最大容量.
. E' H3 ~* f) ?5 ~( |7 Ydefault_socket_timeout = 300; Socket 無回應斷線時間上限.
( r$ q. u2 i! C( X" q# B/ Imysql.connect_timeout = -1 ; MYSQL 無回應斷線時間上限, -1 代表永遠等下去.
* c' C' o6 r+ D' W$ l+ c% J
/ {' y( {- h. M9 }. _: d+ a5 X如果你打算讓你的系統能夠上傳更大的檔案, 可以自行增加某些數值. 5 Z0 i* }* r7 i& Z( K/ W- _$ \5 i# U
但設定過大的值, 不保證系統的穩定性.
# w$ Y3 H5 a& L. I# ?ps: 歹勢, 沒時間看 code 測試...
* Q( h% k5 s8 L
1 @8 \8 g! o* a0 m) }有些數值有相互關係, 例如, memory_limit 必須大於 upload_max_filesize 與 post_max_size. 3 g+ p" X) j' v; _6 m2 D
: A Z4 F6 r$ b
|
|