ƣCoreServer ALL 20091230

PHP˻

ߣZ<602000@gmail.com>

汾20091230

Windows


----------------------------------------

һwindows¿PHPվȫɫ˼ɻѹĿ¼ʹã򵥿ɲĿ̨ʽͷʽϣ鿴־SQL־򵥷㣬ϸĽ̳̿ԼApache 2.2.14Mysql 5.1.41PHP 5.2.12ZendDebuggerZendOptimizerPHP 5.3.1XDebugAPCNginx 0.8.31Subversion 1.6.6PHPUnit 3.4.5phpDocumentor 1.4.3


--------------------ϸ--------------------

Ŀ꣺ٴWindows¿PHPվɫط˵Ի

װ

1. ѹĿ¼¡

2. start.batѡ񼴿ɡ



1. Apache 2.2.14

2. Mysql 5.1.41

3. PHP 5.2.12ںZendDebuggerZendOptimizer  PHP 5.3.1ںXDebugAPC

4. Nginx 0.8.31

5. Subversion Server 1.6.6

6. PHPUnit 3.4.5

7. phpDocumentor 1.4.3

ʹã

1. start.batģѡɸҪб༭ļ

2. дwebֱӷsrcĿ¼ϼɡ

3. webʹhttp://localhost/ʡ

4. ִserver\*.bat

5. phpƬִserver\php.bat

6. mysqlͻִserver\mysql.bat

ע

1. php-5.2.12ʹZendDebugger뻺ʹZendOptimizer

2. php-5.3.1ʹXDebug뻺ʹAPC

3. 鿴apache־ɴserver\apache-2.2.14-*.log

4. 鿴nginx־ɴserver\nginx-0.8.31-*.log

5. 鿴mysql־ɴserver\mysqld-5.1.41.log

6. mysqlļserver\mysqld-5.1.41\dataϡ

7. SVNļserver\subversion-1.6.6\confϡ

8. SVNļserver\subversion-1.6.6\svn_repositoryϡ



----------------------------------------

PHP 5.2.12
------------------------------------
1. ȷPHP汾صַװĿ¼
ʹãPHP 5.2.12 Thread Safe Zip汾
صַhttp://cn.php.net/distributions/php-5.2.12-Win32.zip
װĿ¼server\php-5.2.12

2. ѹװĿ¼ϣɾļԼٿռ䡣
ļphp.ini-distΪphp.ini
ɾļdev extras PEARĿ¼
ɾļ.bat .reg .phar .txt php.ini-*ļ
ݶҪɾòļ

3. ޸php.iniļ
޸ãextension_dir = "../php-5.2.12/ext/"

ãextension=xxx.dll³
;extension=php_exif.dll
;extension=php_ifx.dll
;extension=php_mssql.dll
;extension=php_oci8.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_sall.dll
;extension=php_sybase_ct.dll
Ҫ򿪻رעͣ

4. װZendDebugger
ݰ汾أhttp://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.15-cygwin_nt-i386.zip
5_2_x_compZendDebugger.dllѹװĿ¼dummy.phpѹsrcĿ¼
php.ini
[Zend Debugger]
zend_extension_ts="ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

5. װZendOptimizer
ݰ汾أhttp://www.zend.com/en/products/guard/downloadsװģphp.iniconf\httpd.confаװȻж
Ŀ¼Optimizer-3.3.0\php-5.2.x\ZendOptimizer.dllװĿ¼
ZendExtensionManager.dllװĿ¼
php.ini
[Zend]
zend_extension_ts="ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="..\php-5.2.12\Optimizer-3.3.0"
zend_optimizer.enable_loader = 1
zend_optimizer.optimization_level=15

6. ͬʱװZendDebuggerZendOptimizer
ͬʱZendDebugger.dllphp-5.2.xĿ¼
php.ini
[Zend]
zend_extension_ts="ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="..\php-5.2.12\Optimizer-3.3.0"
zend_optimizer.enable_loader = 1
zend_optimizer.optimization_level=15
zend_extension_manager.debug_server_ts="..\php-5.2.12\Optimizer-3.3.0"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
·ApacheЧʹZendOptimizerҪʹþ·

7. װXDebugѡװ
ݰ汾أhttp://www.xdebug.org/download.php
php_xdebug-2.0.5-5.2.dllصװĿ¼
php.ini
[XDebug]
zend_extension_ts="php_xdebug-2.0.5-5.2.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
;xdebug.remote_handler=dbgp
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir="..\php-5.2.12\xdebug"
װXDebugͲҪװZendDebuggerZendOptimizer鿴http://xdebug.org/docs/


PHP 5.3.1
------------------------------------
1. ȷPHP汾صַװĿ¼
ʹãPHP 5.3.1 Thread Safe Zip汾
صַhttp://windows.php.net/downloads/releases/php-5.3.1-Win32-VC6-x86.zip
װĿ¼server\php-5.3.1

2. ѹװĿ¼ϣɾļԼٿռ䡣
ļphp.ini-developmentΪphp.ini
ɾļdev extras PEARĿ¼
ɾļ.bat .reg .phar .txt php.ini-*ļ
ݶҪɾòļ

3. ޸php.iniļ
޸ãextension_dir = "../php-5.3.1/ext/"
ãextension=xxx.dll³
;extension=php_dba.dll
;extension=php_exif.dll
;extension=php_gmp.dll
;extension=php_interbase.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11g Instant Client
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_oci.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_sall.dll
;extension=php_sybase_ct.dll
;extension=php_zip.dll
Ҫ򿪻رעͣ
޸ã
date.timezone = PRC
mbstring.language = zh-cn
mbstring.internal_encoding = zh-cn

4. װXDebug
ݰ汾أhttp://www.xdebug.org/download.php
php_xdebug-2.0.5-5.3-vc6.dllصװĿ¼
php.ini
[XDebug]
zend_extension="php_xdebug-2.0.5-5.3-vc6.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
;xdebug.remote_handler=dbgp
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir="..\php-5.3.1\xdebug"

5. װAPC
صַhttp://downloads.php.net/pierre/php_apc-5.3-svn20091115-vc6-x86.zip
extĿ¼
php.ini
extension=php_apc.dll
йAPCòμhttp://cn.php.net/apc


PHP 
------------------------------------

1. server\php.batڲPHPƬΣΪ
@ECHO OFF
TITLE php
@echo 1php-5.2.12   
@echo 2php-5.3.1
set /p choice=ѡ:
if %choice%==1 goto choice1
if %choice%==2 goto choice2
goto end

:choice1
cls
TITLE php-5.2.12
%~d0
cd %~dp0
cd php-5.2.12
echo дPHP룬װCtrl+Zٰسʼ
..\php-5.2.12\php -c ..\php-5.2.12
echo.
pause
cls
goto choice1

:choice2
cls
TITLE php-5.3.1
%~d0
cd %~dp0
cd php-5.3.1
echo дPHP룬װCtrl+Zٰسʼ
..\php-5.3.1\php -c ..\php-5.3.1
echo.
pause
cls
goto choice2

2. server\php-cgi.batPHP-CGIΪ
@ECHO OFF
TITLE php-cgi
@echo 1php-5.2.12   
@echo 2php-5.3.1
set /p choice=ѡ:
if %choice%==1 goto choice1
if %choice%==2 goto choice2
goto end

:choice1
cls
TITLE php-cgi-5.2.12
%~d0
cd %~dp0
cd php-5.2.12
echo php-cgi-5.2.12Ctrl+Cر
..\php-5.2.12\php-cgi -b 127.0.0.1:9000
pause

:choice2
cls
TITLE php-cgi-5.3.1
%~d0
cd %~dp0
cd php-5.3.1
echo php-cgi-5.3.1Ctrl+Cر
..\php-5.3.1\php-cgi -b 127.0.0.1:9000
pause


Apache(httpd)
------------------------------------
1. ȷApache汾صַװĿ¼
ʹãApache HTTP Server 2.2.14 Win32 Binary without crypto (no mod_ssl) (MSI Installer)
صַhttp://apache.freelamp.com/httpd/binaries/win32/apache_2.2.14-win32-x86-no_ssl.msi
װĿ¼server\apache-2.2.14
ȰװĬĿ¼ٿװĿ¼Ȼжأдlocalhostдwebmaster@localhost

2. ѹװĿ¼ϣɾļԼٿռ䡣
ɾļcgi-bin htdocs icons manualĿ¼
ɾļ.txtļ
ݶҪɾòļ

3. phpİ汾httpd.confhttpd-php-5.2.12.confhttpd-php-5.3.1.confҲһ
޸
#ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2"
#DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
LoadModule rewrite_module modules/mod_rewrite.so

ServerName localhost:80
ErrorLog "../apache-2.2.14-error.log"
CustomLog "../apache-2.2.14-access.log" common
DocumentRoot "../../src"
<Directory />
    Options FollowSymLinks
    DirectoryIndex index.php index.html
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
LoadModule php5_module ../php-5.2.12/php5apache2_2.dll
PHPIniDir ../php-5.2.12

4. server\apache-2.2.14.bathttpḍΪ
@ECHO OFF
TITLE apache-2.2.14
@echo 1php-5.2.12   
@echo 2php-5.3.1
set /p choice=ѡ:
if %choice%==1 goto choice1
if %choice%==2 goto choice2
goto end

:choice1
TITLE apache-2.2.14-php5.2.12
%~d0
cd %~dp0
cd php-5.2.12
echo apache-2.2.14php-5.2.12Ctrl+Cر
..\apache-2.2.14\bin\httpd -d ..\apache-2.2.14 -f ..\apache-2.2.14\conf\httpd-php-5.2.12.conf -w
pause

:choice2
TITLE apache-2.2.14-php5.3.1
%~d0
cd %~dp0
cd php-5.3.1
echo apache-2.2.14php-5.3.1Ctrl+Cر
..\apache-2.2.14\bin\httpd -d ..\apache-2.2.14 -f ..\apache-2.2.14\conf\httpd-php-5.3.1.conf -w
pause


Mysql
------------------------------------
1. ȷMysql汾صַװĿ¼
ʹãMysql 5.1.41 Without installer汾
صַhttp://219.239.26.11/download/1804646/1924286/1/zip/98/151/1258624739682_151/mysql-noinstall-5.1.41-win32.zip
װĿ¼server\mysql-5.1.41

2. ѹװĿ¼ϣɾļԼٿռ䡣
ɾļDocs Embedded include lib mysql-test scripts sql-benchĿ¼
ɾbinĿ¼ģ.map .pdbļ
ɾĿ¼ϵļmy-small.iniΪmy.ini
ݶҪɾòļ

3. ޸my.inimysqd
[mysqld]
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 8M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 2M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
general_log = 1
general_log_file = ../../mysqld-5.1.41.log

4. server\mysqld-5.1.41.batmysqlḍΪ
@ECHO OFF
TITLE mysqld-5.1.41
%~d0
cd %~dp0
echo mysqld-5.1.41Ctrl+Cر
mysql-5.1.41\bin\mysqld --defaults-file=mysql-5.1.41\my.ini --console
pause

5. server\mysql.batڽmysqlնsql䣬Ϊ
@ECHO OFF
TITLE mysql
@echo 1mysql-5.1.41  
set /p choice=ѡ:
if %choice%==1 goto choice1
goto end

:choice1
cls
TITLE mysql-5.1.41
%~d0
cd %~dp0
mysql-5.1.41\bin\mysql --defaults-file=mysql-5.1.41\my.ini -uroot
pause


Nginx
------------------------------------
1. ȷNginx汾صַװĿ¼
ʹãnginx/Windows-0.8.31 zip
صַhttp://nginx.org/download/nginx-0.8.31.zip
װĿ¼server\nginx-0.8.31

2. ѹװĿ¼ϣɾļԼٿռ䡣
ݶҪɾòļ

3. ޸nginx.conf
ںʵĵط/޸
error_log  ../nginx-0.8.31-error.log;

    access_log  ../nginx-0.8.31-access.log;

        location / {
            root   ../../src;
            index  index.php index.html;
        }

        location ~ \.php$ {
            #root   html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            if ($document_root ~ "^(.+?\\\\)server\\\\nginx-"){
                set $document_root2 $1src;
            }
            fastcgi_param  SCRIPT_FILENAME  $document_root2$fastcgi_script_name;
            include        fastcgi_params;
        }
޸fastcgi_params
fastcgi_param  DOCUMENT_ROOT      $document_root2;


4. server\nginx-0.8.31.batڹnginx̣Ϊ
@ECHO OFF
:start
TITLE nginx-0.8.31ѡ7ر
@echo 1nginx (start nginx)
@echo 2ֹͣnginx (nginx -s stop)
@echo 3˳nginx (nginx -s quit)
@echo 4ؿnginx (nginx -s reopen)
@echo 5nginx (nginx -s reload)
@echo 6رnginx (kill /im nginx.exe)
@echo 7رղ˳ (kill /im nginx.exe)
set /p choice=ѡ:
if %choice%==1 goto choice1
if %choice%==2 goto choice2
if %choice%==3 goto choice3
if %choice%==4 goto choice4
if %choice%==5 goto choice5
if %choice%==6 goto choice6
if %choice%==7 goto choice7
exit

:choice1
cls
%~d0
cd %~dp0
cd nginx-0.8.31
echo nginx-0.8.31php-cgi,ѡ7رnginx
start ..\nginx-0.8.31\nginx
goto start

:choice2
cls
%~d0
cd %~dp0
cd nginx-0.8.31
echo ֹͣnginx-0.8.31
..\nginx-0.8.31\nginx -s stop
goto start

:choice3
cls
%~d0
cd %~dp0
cd nginx-0.8.31
echo ˳nginx-0.8.31
..\nginx-0.8.31\nginx -s quit
goto start

:choice4
cls
%~d0
cd %~dp0
cd nginx-0.8.31
echo ؿnginx-0.8.31
..\nginx-0.8.31\nginx -s reopen
goto start

:choice5
cls
%~d0
cd %~dp0
cd nginx-0.8.31
echo nginx-0.8.31
..\nginx-0.8.31\nginx -s reload
goto start

:choice6
cls
%~d0
cd %~dp0
cd nginx-0.8.31
echo رnginx-0.8.31ѡ1nginx߹رմ
taskkill /f /im nginx.exe
goto start

:choice7
cls
%~d0
cd %~dp0
cd nginx-0.8.31
taskkill /f /im nginx.exe
exit


Subversion
------------------------------------
1. ȷSubversion汾صַװĿ¼
ʹãCollabNet Subversion Server and Client v1.6.6 (for Windows)
صַhttp://www.collab.net/downloads/subversion/
װĿ¼server\subversion-1.6.6
װMOD_DAV_SVN
ȰװĬĿ¼ٿװĿ¼Ȼжأ

2. ѹװĿ¼ϣɾļԼٿռ䡣
Ŀ¼server\subversion-1.6.6\conf
Ŀ¼server\subversion-1.6.6\svn_repository

4. subversion-1.6.6.bat£
@ECHO OFF
TITLE subversion-1.6.6
%~d0
cd %~dp0
cd subversion-1.6.6
if not exist "svn_repository\trunk" svnadmin create svn_repository\trunk
if not exist "svn_repository\branches" svnadmin create svn_repository\branches
if not exist "svn_repository\tags" svnadmin create svn_repository\tags
echo subversion-1.6.6Ctrl+Cر
svnserve -d -r svn_repository --config-file conf\svnserve.conf --foreground
pause

5. ִsubversion-1.6.6.bat󣬿һconfĿ¼server\subversion-1.6.6ϡ


PHPUnit
------------------------------------
1. ȷPHPUnit汾صַװĿ¼
ʹãPHPUnit-3.4.5.tar汾
صַhttp://pear.phpunit.de/get/PHPUnit-3.4.5.tar
װĿ¼server\phpunit-3.4.5

2. ѹװĿ¼ϣɾļԼٿռ䡣
ѹѹеPHPUnit-3.4.5Ŀ¼

3. ޸phpunit.bat滻Ϊ
@ECHO OFF
TITLE phpunit-3.4.5
@echo 1php-5.2.12
@echo 2php-5.3.1
set /p choice=ѡ:
if %choice%==1 goto choice1
if %choice%==2 goto choice2
goto end

:choice1
TITLE phpunit-3.4.5-php5.2.12
%~d0
cd %~dp0
echo ִphpunit-3.4.5php-5.2.12
set PHPBIN="..\php-5.2.12\php"
%PHPBIN% "%~dp0phpunit.php" %*
pause
goto end

:choice2
TITLE phpunit-3.4.5-php5.3.1
%~d0
cd %~dp0
echo ִphpunit-3.4.5php-5.3.1
set PHPBIN="..\php-5.3.1\php"
%PHPBIN% "%~dp0phpunit.php" %*
pause
goto end

:end

4. ޸dbunit.bat滻Ϊ
@ECHO OFF
TITLE phpunit-3.4.5
@echo 1php-5.2.12   
@echo 2php-5.3.1
set /p choice=ѡ:
if %choice%==1 goto choice1
if %choice%==2 goto choice2
goto end

:choice1
TITLE phpunit-3.4.5-php5.2.12
%~d0
cd %~dp0
echo ִphpunit-3.4.5php-5.2.12
set PHPBIN="..\php-5.2.12\php"
%PHPBIN% "%~dp0dbunit.php" %*
pause
goto end

:choice2
TITLE phpunit-3.4.5-php5.3.1
%~d0
cd %~dp0
echo ִphpunit-3.4.5php-5.3.1
set PHPBIN="..\php-5.3.1\php"
%PHPBIN% "%~dp0dbunit.php" %*
pause
goto end

:end

5. ޸phpunit.phpdbunit.phpɾһ
#!/usr/bin/env php

6. bootstrap.phpļphpunit-3.4.5ϣ
<?php
function __autoload($classname) {
    require_once("$classname.php");   
}
?>

7. phpunit-3.4.5.batserverĿ¼ϣ
@%~dp0phpunit-3.4.5\phpunit.bat --bootstrap bootstrap.php --include-path ..\..\src ..\..\src\tests
--include-pathĲĳɲļİ·


PhpDocumentor
------------------------------------
1. ȷPhpDocumentor汾صַװĿ¼
ʹãPhpDocumentor-1.4.3.zip汾
صַhttp://sourceforge.net/projects/phpdocu/files/
װĿ¼server\phpdocumentor-1.4.3

2. ѹװĿ¼ϣɾļԼٿռ䡣

3. ޸phpdoc.bat
SET phpCli=C:\usr\local\php\cli\php.exe
滻Ϊ
@ECHO OFF
TITLE phpdocumentor-1.4.3
@echo 1php-5.2.12   
@echo 2php-5.3.1
set /p choice=ѡ:
if %choice%==1 goto choice1
if %choice%==2 goto choice2
goto end

:choice1
TITLE phpdocumentor-1.4.3-php5.2.12
%~d0
cd %~dp0
echo phpdocumentor-1.4.3php-5.2.12
SET phpCli=%~dp0..\php-5.2.12\php.exe
goto end

:choice2
TITLE phpdocumentor-1.4.3-php5.3.1
%~d0
cd %~dp0
echo phpdocumentor-1.4.3php-5.3.1
SET phpCli=%~dp0..\php-5.3.1\php.exe
goto end

:end

3. ޸phpDocumentor\Setup.inc.phpҵע͵
//$ret = utf8_decode($ret);

4. phpdocumentor-1.4.3.bat
@phpdocumentor-1.4.3\phpdoc.bat -f ..\..\src\core.php -d ..\..\src\phpdoc\manual -ed ..\..\src\phpdoc\examples -t ..\..\src\manual -ti "Documentation" -dn Extension -o HTML:Smarty:PHP
ʵд



------------------------------------

1. start.bat
2. ΢svrany.exenginxphpĿ¼ϡ
3. XPapacheҪPHP-5.3.1¿icu*.dlllibpq.dlllibeay32.dllssleay32.dllapache-2.2.14¡
4. ޸PHPUnitphpDocumentorĲ
5. ޸Ĵlog־Ĭϱ༭