zoukankan      html  css  js  c++  java
  • Cygwin PHP + Apache on Windows install tips

    Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
    Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
    Other format: [Raw text]

    Cygwin PHP + Apache on Windows install tips

    • From: "Karl Brown" <brown at gnvc dot org>
    • To: cygwin at cygwin dot com
    • Date: Wed, 14 Jan 2004 14:05:21 -0600
    • Subject: Cygwin PHP + Apache on Windows install tips

    So, you're having trouble installing PHP and Apache under Cygwin on windows?? 
    
    I've just suffered through some pain in setting this up - the following thread was  
    useful to me: 
    http://www.cygwin.com/ml/cygwin/2003-09/msg01028.html 
    
    More importantly, I actually figured out how to make it work.  Here are the changes  
    you have to make if you really want to go this route.  Looking back, I think I would  
    have been better off installing a vanilla windows version of apache, and the vanilla  
    windows distribution of PHP - that is what most people do and it seems to work  
    better.  But if you want to go the hardcore route, see below. 
    
    1) This was done with Apache 1.3.24-5 and PHP 4.2.0-2. 
    2) I will assume that apache is already installed and working - even doing that is  
    non-trivial, but this page is helpful:  
    http://apache.dev.wapme.net/manual/cygwin.html.  Just remember that apache  
    cygwin does not accept windows directory names (i.e. d:/foo/bar) - you have to use 
    /cygdrive/d/foo/bar 
    3) There are bugs in the PHP installer, so we have to work around them.  Luckily, it  
    is not that difficult. 
    
    so, the steps: 
    0) Stop your apache server 
    1) Install the PHP package using the cygwin installer.  This will copy the  
    documentation, but you'll notice that the libphp4.dll is somehow missing!  This is the  
    first bug. 
    2) To correct this bug, you'll have to edit the apache-php.sh script which is stored in  
    /etc/postinstall - it should be named 'apache-php.sh.done' at this point. 
    3) Open it up, save a backup copy, and replace it with the following: 
    
    === 
    #!/bin/sh 
    module=php4 
    module_dll=libphp4.dll 
    prefix=/usr 
    confdir=/etc 
    libdir=${prefix}/lib/apache 
    echo ${libdir} 
    rebase_dlls="${libdir}/${module_dll}  
    ${prefix}/bin/cygbz21.0.dll ${prefix}/bin/cygcrypto.dll  
    ${prefix}/bin/cygintl-1.dll ${prefix}/bin/pq.dll  
    ${prefix}/bin/cygxml2-2.dll ${prefix}/bin/cygz.dll  
    ${prefix}/bin/cyggdbm.dll ${prefix}/bin/cygssl-0.9.7.dll   
    D:\apps\cygwin\bin\cygiconv-2.dll" 
    echo ${rebase_dlls} 
    cd ${libdir}/new 
    ${prefix}/sbin/apxs -i -a -n ${module} ${module_dll} 
    echo ${module} ${module_dll} 
    ${prefix}/bin/rebase -d -b 0x68000000 -o 0x10000  
    ${rebase_dlls} 
    #${prefix}/bin/rebase ${rebase_dlls} 
    
    #don't remove module dll 
    #rm -f ${libdir}/new/${module_dll} 
    
    === 
    The changes I made were: 
    1) add ${prefix}/bin/cygssl-0.9.7.dll  D:\apps\cygwin\bin\cygiconv-2.dll to the dlls to  
    be re-based.  This I figured out through trial and error 
    2) uncommented the rebase command that had been commented out, and  
    commented out the rebase command with bad syntax (no -d -b 0x etc.) 
    3) commented the line that removes the libphp4.dll 
    
    
    Also, rename the file to apache-php-sh 
    
    4) unzip and untar the php distribution - it should be wherever you set Cygwin to  
    download packages. 
    > cd {wherever this file is located} 
    > bunzip2 apache-php-4.3.0-2.tar.bz2 
    > tar -xvf apache-php-4.2.0-2.tar 
    
    Within this tarball, you should be able to find libphp4.dll - drop that in /lib/apache 
    
    5) Now, run the post install script: 
    $ sh apache-php.sh 
    
    This should now rebase all of the necessary dlls and install the libphp4.dll as a  
    shared object. 
    
    6) Now open up your httpd.conf file and add the following lines: 
    
    LoadModule php4_module lib/apache/libphp4.dll 
    AddModule mod_php4.c 
    AddType application/x-httpd-php .php 
    
    7) now take a sample .php page and start up your apache server - it should be  
    working now.  if you want to set up your php as a CGI handler, there are other  
    resources on the web for that. 
    
    I hope this helps someone else out there, and hopefully whoever is in charge can fix  
    these (relatively) simple problem in the installer script. 
    
    thanks, 
    karl brown 
    karl at cs.stanford.edu_nospam 
    (remove nospam to send) 
    
    
    --
    Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
    Problem reports:       http://cygwin.com/problems.html
    Documentation:         http://cygwin.com/docs.html
    FAQ:                   http://cygwin.com/faq/
    
    

    Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
    Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
  • 相关阅读:
    【C语言天天练(三)】typedef具体解释
    操作系统之基本分页存储管理方式
    线索二叉树创建及删除
    SVN:This client is too old to work with working copy…解决的方法
    android4.2 telephone应用层分析
    JPA学习笔记(3)——JPA注解
    Android研发中对String的思考(源代码分析)
    《Effective Modern C++》翻译--条款2: 理解auto自己主动类型推导
    “2014年CityEngine三维建模与设计精英培训班”——全国巡回举办
    Git命令总结
  • 原文地址:https://www.cnblogs.com/lv_yantao/p/1988425.html
Copyright © 2011-2022 走看看