1、下载最新版:xampp-linux-1.7.1-beta3.tar.gz
3 I( J; x: V' s3 w8 [3 `" T7 G 来自网址:http://www.apachefriends.org/en/xampp-linux.html
' {) k; X. E* O% W2、安装:#tar zxvf xampp-linux-1.7.1-beta3.tar.gz -C /opt 1 A. d9 {6 H+ s1 P& {+ E2 z1 ?7 T
解压到/opt目录,生成Lampp文件夹 ) D7 ~' L+ A1 U+ l8 ~' b3 }
3、启动Xampp: #/opt/lampp/lampp start + a; E2 w% V" f% j
4、把自己做好的网页放入到/opt/lampp/htdoc文件夹下面;
3 z6 X- a( Z# z6 Q ^+ |5、打开网页测试:http://192.168.1.1xx或http://192.168.1.xxx/index.html等等;
; X7 \& `1 |- `( u h6、如果不能打开网页,可能是启动服务有问题,可重启电脑,再次使用 #/opt/lampp/lampp start启动服务,再试。
) w% K9 ~ O8 c5 E X/ }' }! f5 Z2 y% s( W; \0 a
; u1 y# Q M- Q! K0 ^: I9 M/ M2 e
***********************************************************************************************
% M |8 ~- [) H3 ], ]- f0 K+ a" X$ L: e& ^; O7 n2 V; b
Xampp1.7.1所含软件包:
: z* @& m I5 z9 e- J& RApache 2.2.6 + OpenSSL 0.9.8g
" O' n- \: @* TMySQL 5.0.51 . J! ^6 I- A* k$ Y: T
PHP 5.2.5 & PHP 4.4.6 7 G' F3 ]6 `6 N: M" k5 u& i
phpMyAdmin 2.11.3 * E, B& G! V" o- q! ?
FileZilla FTP Server 0.9.24 * ]" F) B& {$ R
Mercury Mail Transport System v4.52
1 t. C+ }$ D# J7 L" j- h& q# b7 B
+ \8 i g' _- p4 J" @5 J安装完毕后,输入下面的命令就可以启动XAMPP了:
# G7 K1 W; T' J0 a. E$ E' [
; f8 y! Q4 a& g" M# ~* D/opt/lampp/lampp start . Q( |. i/ B/ i/ q1 K% i, r- R; {
5 H9 b1 {, _) d8 _/ K4 M. A这时你会看到如下信息: , E4 H6 X3 c5 `- @
+ T |: l. E7 z8 B3 H5 z7 j
Starting XAMPP for Linux 1.7.1… - ]. W8 r$ q r
" O* \, U- b, Z8 W h l5 q
XAMPP: Starting Apache with SSL (and PHP5)… 0 J# {) W6 T' v8 h$ q
5 L: A' C: Q: F& t) E, a$ dXAMPP: Starting MySQL… ( \# A3 X; ` {4 O- S# F
[+ s8 f2 i4 z& cXAMPP: Starting ProFTPD… 4 V% L) d: t) K7 d2 U% ^
" o- z# o# x* @
XAMPP for Linux started.
) g+ r- S+ W3 m# _, P, ^9 X, F" X! g$ y
其他启动参数如下: . _" _0 R5 d' l8 H8 N) E, u& O* L
% Z, m, _6 x( h
restart 重启XAMPP
/ G1 T& b' Q5 D; g& U# b7 v) f" [$ f0 @1 g( O* `8 K: y. w6 k
startapache 只启动Apache
0 H {" a( W/ h# T8 K {& w0 P" k" P D' ~* s
startssl 启动Apache 的SSL 支持 + L! N" n2 s. N: d5 y1 D7 d
9 s, @: {$ \" g. y6 V8 l9 zstartmysql 启动MySQL
4 R- B2 Z. N9 E- p x
7 Y7 I9 ~' ` Ystartftp 启动ProFTPD 4 c* Y7 b1 V1 \: V
& V' V: y1 M8 nstopapache 停止Apache.
5 O7 S7 C: w- u& u" y% T
1 N& I# B: a4 |* K+ i# Estopssl 停止Apache 的SSL 支持
* z2 |- W1 g+ F" x' d% I9 s
, o' ^4 H! {1 U' Wstopmysql 停止 MySQL数据库
. \7 ~8 B! f, Z4 V
8 v1 _4 K4 D0 ~; d4 c) S2 e3 Lstopftp 停止ProFTPD
1 v4 S% T& f4 o1 S. {$ n2 X; ]( ^! W; b& x- ~9 a
( `% s) n: K1 J- L***************************************************
1 W. o/ E" `- x, {6 R: m6 g1 @- ^! ]
9 u! n! v3 g, ]
朋友问到了论坛中传2.7M的文件传不上去的问题。 % K7 a& Z- h/ B7 D4 t3 F2 V8 f
6 R+ ?% {( H9 L9 Y1 f! o0 T; z& o
虽然论坛管理端设置远大于这个限制,但还是上传不成功。 1 f7 U3 p( l, o K5 d
) \7 T7 i& s7 t0 T
其实还需要结束Apache进行修改来达到突破上传限制的影响,php.ini中共有三处修改:
8 g3 C$ B/ S$ i* _! C- e% u5 @2 A( X5 u; F' u
1、执行时间限制的延长或取消:
. H! k& J1 r- s4 d# f- rmax_execution_time 默认是30秒.改为 max_execution_time = 0 (0表示没有限制)或更大点的数字;
+ u; j, n A }% k7 @. M+ l% D2 |2 |# }& @% j, @% C+ `6 v8 G1 q; E3 n
另一种方法是可以在php程序中加入set_time_limit();
) a' q ^5 F5 q! k来设定页面最久执行时间.
; u) p5 q" c+ h0 Bset_time_limit(0);//0表示没有限制 7 r, v* t6 k5 @# Q5 h
1 O, a3 L3 x) r6 j2 B1 e7 o2、查找 post_max_size = 2M (默认为2M)改为想要的大小,如:post_max_size = 70M 7 f. `1 i8 R' \4 c! x. Z3 L+ r- N
$ p' i7 c1 E# V; _; o( K6 C+ m; c通常我们只做了这一步,以为就可以解决问题了。其实还需要看下面一步。
3 d( d$ J; o. e, ~8 U( m/ W7 t0 v* n' p2 c0 P' l
3、upload_max_filesize 表示所上传的文件的最大值。
- P% p0 z! A0 f% ]查找upload_max_filesize,默认为8M改为
$ L- ^. y6 P7 _% Hupload_max_filesize = 70M 8 x8 W2 Y$ D( J/ i# f
" V! w! y5 J! [5 m/ d
需要注意的时,通常我们把post_max_size 大于 upload_max_filesize 的设置为好。
# N3 b5 g5 B& P7 s2 u; x* v t. L0 x5 l; c' N
9 i' ^( ]1 \6 v9 ^3 F. Y8 u7 O' z7 f, R- i* E1 {. H
^! Q0 C9 Z. {# r: c. t, \
/ }6 r! G0 z8 c% U
$ W# ]2 h0 N2 }) m0 m4 m8 i! s# ?' m# T- T
解决Apache2+PHP上传文件大小限制的问题 $ M" z" C% y5 I9 ]" a& t+ J) o# Q
, f" q; N' Q" q% N1 v: V1 u! p开始的时候知道要改php.ini,基本是改这几项:
9 ^8 c0 k0 v& a# B) V" t" F" N4 E" Q( f1 M" M! @
max_execution_time = 30
8 t b7 i. n7 _0 Z& emax_input_time = 60
) p: s+ o' j/ \" y6 d$ n7 ~0 Vmemory_limit = 8M " o+ u+ b6 b) b0 h& K3 P( b5 D
upload_max_filesize=8m
8 i$ U. W. Y5 x( h4 U( I, t+ z$ a* [9 U f0 J5 d2 A3 J8 w7 B0 k
但改好后发现上传的文件还是不能超过512k,否则页面就出错,非常的郁闷。无论如何调大上面几项的参数都没有作用,然后又检查了httpd.conf文件,从头看了一遍还是没有发现问题。在退出conf目录的时候,偶然发现有conf.d目录,ls了一下竟看到有个php.conf。呵呵,vi php.conf发现内容如下: 7 ]4 A. r1 u* l7 z5 m
1 m% O; s( B/ M4 E1 b, d2 d. N6 }#
% F; m! D) u# g9 R& D/ c) d& K2 B# PHP is an HTML-embedded scripting language which attempts to make it ; m: F4 I2 X+ N6 `6 n# C
# easy for developers to write dynamically generated webpages.
2 e( }- x% d( J) J( x# % h% y/ D* [4 Z; A+ }
' @1 V. [& h7 `+ [/ `% PLoadModule php4_module modules/libphp4.so
+ b* A/ i- c$ p- t
& ?8 T. L* e5 ^AddType application/x-httpd-php php .php3 * m) z# [6 E! e" E& [
" x3 G2 U% f: q" q
#
) O- k6 K4 i3 }, L# Cause the PHP interpreter handle files with a .php extension.
j8 m8 }: t: f: p" v8 _+ V# : o3 N! i, l: X* x! L
* C$ L" j3 O; u# d
SetOutputFilter PHP
! x; e1 N9 B2 P$ S) J2 ]0 FSetInputFilter PHP * ~( @: r+ T {6 H' U' [
LimitRequestBody 524288
9 s* I4 I, O$ r
% a7 c: E a8 S4 ]0 V" \1 Q$ Z
+ ?& i9 v# o# @) z3 P# # Z( V% S* e6 I
# Add index.php to the list of files that will be served as directory % n& c2 C' d d6 Q) W
# indexes.
9 ]5 a$ \7 q, x! y- F) C3 r) `# ( \( I+ g# D9 |
DirectoryIndex index.php 3 D- V" E4 r6 i
0 x5 T" k1 [; r+ @; s
* p! P1 G2 g7 j t0 h5 A4 k+ X看到那个524288吗,换算下就是512k。把它改成52428800,reload apache。经测试,可以上传几十兆的文件,问题解决。看来我对apache+php的配置了解还是不够全面,以后还要多多学习! ( _1 \* q& U% l3 M( J, H0 `* H
5 a# S. N1 D6 B% b( t/ W& k2 U* V% p: C& V" B# y& D; n
httpd [-D name] [-d directory] [-f file] [-C "directive] [-c directive] [-v] [-V] [-h] [-i] [-L] [-s] [-t] [-T] * L; `& K+ ~8 x
/etc/rc.d/init.d/http
) l" g. h6 R! X6 @% s( l
) n0 t) w6 l* K6 [: r1 p0 {在apache的目录bin下, ' s. j4 S: ~& j2 V; i' B
运行:./apachectl start ) K; ^: t- {: s( d' t! K$ E# M
停止:./apachectl stop 0 b+ f$ J6 _3 H
重起:./apachectl resart
- P) ^, A4 w+ Q) _" z! v& _7 N4 d3 x' \" G; V1 L
, V3 G. K- T# r. j
httpd start 7 g- ^' {2 J0 @
ps -aux 能看到几个httpd 的进程! + v7 `# ~. J5 s+ ~7 r- e
: ^9 j: u6 E$ t, a5 X& K4 u9 O& l. w9 C- N: g) `
/ \5 X0 Q. s$ A r" P6 r
% H2 q* `4 y2 q* A" M# h+ ?& Q9 X/ B
& Q# K9 z3 o! D% r) W; j********************************************** # Q* a5 e7 {# b2 r. P
" u- g' n; n" T0 @& v. y, X7 `針對想讓 PHP 能夠處理大檔案, ex, 超過 100MB.... , L) B _4 A, h+ q8 C6 {
分享一下我的 php 設定經驗, 以下是我的 Software Configuration,
( [0 W# q; p4 T
e) G N, D) c) I. c( P& v; gOS: Red Hat Enterprise Linux AS 4.4 Compatible
1 B8 B% X7 l; R9 G: f, {0 r# j4 LPHP: 4.3.9 : p+ ~# }) ^& g8 W5 x
MYSQL: 4.1.20 2 k1 r( Q6 @1 K7 G) {% e
; }5 ^6 i8 S8 K2 w- R0 \1 H
用 root 身分編輯 /etc/php.ini , 修改以下資訊 $ ^' R* Q- P2 I6 X: j, X
/ w! f9 k0 r9 y) q+ K: {8 A- Rmax_execution_time = 300 ; 每個 script 執行時間上限, 單位是秒.
' V2 s K8 v! g2 r5 f8 R3 x2 Q! K: kmax_input_time = 300 ; 每個 script 處理輸入資料可用時間上限, 單位是秒. 1 n b3 Z3 d3 a; E. j: c
memory_limit = 999M ; 每個執行中的 script 最多可使用的系統記憶體資源. @' E5 w! Z& A0 G* n" t
post_max_size = 800M ; PHP 能夠接受發表文章的容量上限.
- R3 X/ ]4 w+ s7 K' X+ wfile_uploads = On ; 這個不用改, 安裝完就是 On 了, 請確定你的也是 On. - W2 h3 y& o' ]7 l+ S
upload_max_filesize = 800M ; 允許上傳檔案的最大容量.
2 j" f Y9 P% R' t! F$ L* e* Tdefault_socket_timeout = 300; Socket 無回應斷線時間上限. 1 k* W6 U0 A2 o
mysql.connect_timeout = -1 ; MYSQL 無回應斷線時間上限, -1 代表永遠等下去. $ D- @* p/ w) O, ^# n+ n
* H. n0 L: z+ X+ G V
如果你打算讓你的系統能夠上傳更大的檔案, 可以自行增加某些數值.
! D' X- l+ J: w2 B* q! W但設定過大的值, 不保證系統的穩定性. - p" Q+ Z4 g) O9 e6 X6 r7 M
ps: 歹勢, 沒時間看 code 測試... : a7 ~$ A/ B, V" @% C
; W5 y" c2 x5 E+ t
有些數值有相互關係, 例如, memory_limit 必須大於 upload_max_filesize 與 post_max_size. 3 Z& c$ d7 I8 a/ Q( o) b
% h5 W/ U! A8 ^, s; q7 T$ n
|
|