apache2.4 配置.4+php5.4.15时不时挂掉

PHP5.4+Apache2.2+MySQL5.5配置过程的种种问题 - RichDonkey - 博客园
Apache2.2支持php5.4的配置方法
安装不难,只是mysql安装过程需要的一个插件我电脑没有,下载了一整晚&&最折磨我的是它们之间的配置问题。
问题1:无法在Dos通过net start 启动MySql
&&&& 由于在安装时默认将my.ini装在C:\Documents and Settings下的文件夹中,和MySql服务中的可执行文件的路径不一致,因为无法执行配置文件,因此net start mysql55命令无效。
&&&& 而我当时的指令路径里面是没有my.ini,因此将它剪切至指定路径,同时安装目录下也需要一份。
&&&& 另外环境变量的下用户变量的Path也要添加D:\Program Files\MySQL\MySQL Server 5.5\bin,这是为了在Dos环境下使用mysql命令。
MySql服务可执行文件的路径&&
"D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="D:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini" MySQL55
其中defaults-file指定了参数文件的位置,如果没有该参数,一般my.ini参数文件在windows的系统目录下或mysql的目录下,从my.ini的配置中可以找到mysql数据的存储位置。()
问题2:网页无法连接mysql
&&&&&& 我只是想试运行一个案例而已,结果网页shi命都不开,老是出现这个错误,网上搜了一大堆方法,都基本是一个意思,直到我向甜煎饼同学求救,他应该是很无语的告诉我,conn.php的line2就是数据库的连接语句啊,你照办案例,连密码都不带改一下的&&囧,以上语句为我自己猜测他的内心吐槽。
&&&&&&好吧,我改了密码,还是不行。(此事还有后续,真相不止步于此)
问题3:每次开机都提示&&PHP Warning: PHP Startup
&&&&& 后来查了Apache的error.log,错误是这样的PHP Warning: PHP Startup:in Unknown on line 0
&&&&& 苦逼的娃,网上搜来搜去都都找不到合适的方法,方法很多,大同小异,但都没用&&于是我一怒之下决定&&全部重新配置!!!经过长时间奋斗,终于搜到一篇对我有用的,内牛满面啊!!!!!
&&&& 下面说说配置步骤吧,来自,是根据他来修改最后成功的
1、下载解压&
&&& 下载地址:
&&& 需下载:VC9 x86 Thread Safe (2012-Feb-29 21:16:12),zip版的,否则没有php5apache2_2.dll文件。
&&& 暂时无法配置php5apache2_3.dll的!还没有找到解决方法╮(╯▽╰)╭ ~ 不过5.4自带2_2和2_3的。
&2、修改配置文件
&&& 先备份php.ini-development文件,然后再将原文件改名为:php.ini。打开php.ini修改以下参数:
(1)211行:short_open_tag = On;
(2)215行:asp_tags = On;
(3)867行(如果868行是extension=**.dll的开始行),增加一行,并注意不要分号注释:&
&&&&&&& extension_dir="D:\php\ext"
(我的PHP安装地址是D:\php\,配置此项时,请根据实际情况配置)
(4)将868行开始的以下几个dll前的分号去掉,使其功能开启:
extension=php_bz2.dllextension=php_gd2.dllextension=php_gettext.dllextension=php_mbstring.dllextension=php_mysql.dllextension=php_mysqli.dllextension=php_openssl.dllextension=php_pdo_mysql.dllextension=php_sockets.dllextension=php_xmlrpc.dll
& 当然也可以直接把上面一段复制,粘贴进去,这样比较方便,也不会有任何的问题产生,还能保存原始参数形态~
&&如果还有其他需要,根据实际情况取消注释即可。
(5)920行,设置中国时区:date.timezone = prc ;
(6)保存php.ini,并复制到C:\Windows 。
&3、让Apache支持php5.4
打开\Apache2.2\conf\httpd.conf ,编辑:
&(1)130行(是一堆LoadModule **.so的末尾行),增加一行:
&&&&&&& LoadModule php5_module "D:\Program Files\PHP 5.4\php5apache2_2.dll"
&&&&&&& (我的PHP安装地址是D:\php\,配置此项时,请根据实际情况配置)
(2)搜索AddType,并在最后这个字段的下一行空白处添加如下信息:
AddType application/x-httpd-php .phpAddType application/x-httpd-php .php3AddType application/x-httpd-php .php4AddType application/x-httpd-php .php5
(3)、保存并关闭httpd.conf。
&&4、复制文件&&& 复制:
&& (1)D:\Program Files\PHP 5.4 下的:libeay32.dll、php5ts.dll、ssleay32.dll,以及
&& (2)D:\Program Files\PHP 5.4\ext 下的:php_curl.dll、php_openssl.dll ;
&&&&&& &C:\Windows\System32 文件下,这个是为了防止出现找不到一些dll文件的情况。
&(之前看其他人的文章复制部分文件在system32下,但是估计不全吧)
5、重启apache
&&&& net start apache2.2&
&&& 在\Apache2.2\htdocs下新建一个test.php,里面输入:
&&&&&&& &?php phpinfo(); ?&
&&& 打开浏览器,输入:&。
&&& 标题是一个链接,点击即可。
问题4&:phpinfo.phpde的Loaded Configuration File为none
&&&&&&苦逼的娃,经过一早上的苦苦搜查,终于发现一篇神贴,有人表示,还要在系统变量中添加一个PHPRC,(配置环境变量,给这个变量指定个路径,以后用该变量名就能找到该路径。PHPRC是php.ini 的查找路径)指向D:\php,再重启,Loaded Configuration File指向D:\php\php.ini()
&&&&&& 前面说到问题2的事情还没有结束,加上PHPRC之后我试着把之前加在my.ini的bind-address去掉,重启发现案例也能成功运行!!!!!好吧,这说明一个问题,开始的配置有问题&&
问题5:MySql WorkBench CE 无法连接
&&&& 甜煎饼同学帮我远程了一个下午,在my.ini里面的[mysqld]下设置了bind-address=127.0.0.1后,终于连接上了&&甜煎饼同学原话:那个mysql& workbench连接不了是因为要绑定 bind-address=127.0.0.1这个地址,可能跟系统网络有关吧,步骤:
(1)、修改my.ini文件(注意是MySQL服务所读取的文件,可通过服务属性查看)&&&& 在my.ini文件中的[mysqld]下添加bind-address=127.0.0.1;(2)、重启MySQL服务。&&&
&&&&&&走了这么多弯路,上面短短两行话包含了我多少次开机重启,尼玛的配置折腾了我三四天,我勒个去!博客访问: 55213
博文数量: 14
注册时间:
认证徽章:
记录学习中的点点滴滴
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Web开发
apache2.4下载:&可以下载Apache2.4.12的64位版本
php5.4下载:&
1.Apache2.4的安装:
& & 将下载的apache和PHP压缩包解压,假定都放在E盘下,会得到Apache24和PHP这两个文件夹,进入Apache24/conf目录,用编辑器或记事本打开httpd.conf文件,修改以下几个地方:
& & a) 查找“ServerRoot”,将路径修改为ServerRoot "E:/Apache24"(可全文替换c:/Apache24为E:/Apache24)
& & b) 查找“LoadModule”,在加载很多模块的下面加上下面两行,以支持PHP
&&&&&&&&LoadModule php5_module "E:/PHP/php5apache2_4.dll" & &这句话的意思是加载E盘下PHP目录里php5apache2_4.dll这个模块
&&&&&&&&AddHandler application/x-httpd-php .php
& & c) 查找“DirectoryIndex”,在index.html后加上index.php,使默认首页可识别index.php
& & d) 在文件的底部加上PHPIniDir E:/PHP,加载PHP配置文件的路径
& & 至此apache的配置就完成了,接下来在cmd命令行中进入e:/Apache24/bin目录(需以管理员身份运行),执行httpd -k install安装apache服务,完毕后可将bin目录下的ApacheMonitor.exe添加快捷方式到你自己喜欢的地方
2.PHP5.4的安装:
& & a) 重命名PHP目录下的php.ini-development文件为php.ini,然后用编辑器打开,查找“extension_dir”,将路径修改为
&&&&&&&&; On windows:
&&&&&&&&extension_dir = "E:\PHP\ext" & & 此处需要写绝对路径,不要只写个ext,另外去掉行首的分号,若只写ext会导致加载的一些扩展无法使用,例如curl、mbstring等
& & b) 查找“extension”,加载PHP扩展模块,根据自己的需要去掉行首的分号加载扩展
& & c) 可查找“timezone”来设置默认时区,这步也可以在程序里设置
& & 至此PHP的配置也完成了,另外我在官网上下载的PHP打开curl扩展后都无法使用,说是php_curl.dll的问题,后来网上找了个5.4.3的php_curl.dll替换掉ext下的php_curl.dll,问题解决。
通过ApacheMonitor.exe启动apache服务,在浏览器中输入localhost,显示It works!,欢呼吧,apache和PHP的搭建你已经完成了。此时网站的根目录是在Apache24/htdocs下,里面的index.html就是在浏览器中显示的It works!,
删掉,新建一个index.php文件,输入内容,在浏览器中刷新localhost,会显示你的PHP信息,说明apache对PHP的支持是正确的。
最后,倘若你不喜欢把网站目录放在Apache24/htdocs目录下,也可以修改Apache24/conf下的httpd.conf文件,查找“DocumentRoot”,将路径修改为你指定的路径,如DocumentRoot "E:/workspace",同时将下面一行<Directory的路径也
修改为,至此,所有工作都完成了,开始你的PHP之旅吧!
阅读(1974) | 评论(0) | 转发(0) |
下一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。记一次痛苦的过程-------源码编译安装apache+php5+mysql
当时有我们准备做一个项目,于是我就自己搭建了lamp服务器,直接yum install所有文件,因为centos是一个比较稳重的系统,所以它上面所有软件都不是最新的,apache是2.2.15版本,php是5.3.3,mysql是5.1.69.结果发现页面提示错误,提示什么内容我忘了,反正放到本地就没有任何问题,后来发现是由于thinkphp框架的原因,有些语法不支持php5.4以下,于是决定升级php,于是痛苦的过程开始了!!!!
刚开始想到的方法是换源,给centos换源,服务器用的是6.3版本,先换了163的源,后来又换了中科大的源,发现都一样,yum info php都是5.3.3,后来决定源码安装php,但是后来发现编译的时候必须加上apache和mysql的安装目录,因为是yum安装的apache和mysql,没办法添加目录,所以决定全部重新编译!!!好,先下源码!
卸载yum或rpm安装的amp软件
在编译安装lamp之前,首先先卸载已存在的rpm包吧。
rpm -e httpd
rpm -e mysql
rpm -e php
yum -y remove httpd
yum -y remove php
yum -y remove mysql-server mysql
yum -y remove php-mysql
禁用SeLinux
selinux可能会致使编译安装失败,我们先禁用它。
sed -i &#39;s/SELINUX=enforcing/SELINUX=disabled/g&#39; /etc/selinux/config //永久禁用,需要重启生效
setenforce 0 //临时禁用,不需要重启
yum安装必要工具
1、安装编译工具gcc gcc-c++make automake autoconf kernel-devel
2、安装PHP所需依赖,如libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel等
yum -y install gcc gcc-c++ make automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel
apache:http://httpd.apache.org/
mysql:/downloads/mysql/
php:http://php.net/downloads.php
phpmyadmin:http://www.phpmyadmin.net/home_page/downloads.php
我们这里选择的版本为:apache-2.2.22,mysql-5.1.62,php-5.2.17,phpmyadmin-3.4.10.2
wget -c //httpd/httpd-2.2.22.tar.gz
wget -c /get/Downloads/MySQL-5.1/mysql-5.1.64.tar.gz/from/http://mysql.he.net/
wget -c http://us2.php.net/get/php-5.2.17.tar.gz/from/am.php.net/mirror
wget -c http://iweb.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.10.2/phpMyAdmin-3.4.10.2-all-languages.tar.gz
tar xzf httpd-2.2.22.tar.gz
tar xzf mysql-5.1.62.tar.gz
tar xzf php-5.2.17.tar.gz
tar xzf phpMyAdmin-3.4.10.2-all-languages.tar.gz
安装apache2.2.22
cd /tmp/httpd-2.2.22
./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support
make install
编译参数解释:
--prefix=/usr/local/apache:指定安装目录
--with-included-apr:在编译时强制使用当前源代码中绑定的APR版本
--enable-so:允许运行时加载DSO模块
--enable-deflate=shared:将deflate模块编译为DSO
--enable-expires=shared:将expires模块编译为DSO
--enable-headers=shared:将headers模块编译为DSO
--enable-rewrite=shared:将rewrite模块编译为DSO
--enable-static-support:使用静态连接(默认为动态连接)编译所有二进制支持程序
更详细的编译参数解释:http://lamp./Apache/ApacheMenu/programs/configure.html
cp build/rpm/httpd.init /etc/init.d/httpd //使用init脚本管理httpd
chmod 755 /etc/init.d/httpd //增加执行权限
chkconfig --add httpd //添加httpd到服务项
chkconfig httpd on //设置开机启动
ln -fs /usr/local/apache/ /etc/httpd
ln -fs /usr/local/apache/bin/httpd /usr/sbin/httpd
ln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectl
ln -fs /usr/local/apache/logs /var/log/httpd //设置软链接以适应init脚本
安装mysql5.1.62
groupadd mysql
useradd -g mysql mysql
cd /tmp/mysql-5.1.62
./configure --prefix=/usr/local/mysql/ --localstatedir=/usr/local/mysql/data --without-debug --with-unix-socket-path=/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --with-extra-charsets=gbk,gb2312,utf8 --with-pthread
make install //注意:这里是参考别人的,个人安装时候因为mysql版本过高,不支持make编译,必须用到cmake,可以直接yum install cmake安装
编译参数解释:
--prefix=/usr/local/mysql/:指定安装位置
--localstatedir=/usr/local/mysql/data:指定文件位置
--without-debug:禁用调用模式
--with-unix-socket-path=/tmp/mysql.sock:指定sock文件位置
--with-client-ldflags=-all-static:
--with-mysqld-ldflags=-all-static:以纯静态方式编译服务端和客户端
--enable-assembler:使用一些字符函数的汇编版本
--with-extra-charsets=gbk,gb2312,utf8 :gbk,gb2312,utf8字符支持
--with-pthread:强制使用pthread库(posix线程库)
更多编译参数请执行./configure --help命令查看。
cp support-files/f /f //复制配置文件夹my.cnf
/usr/local/mysql/bin/mysql_install_db --user=mysql //初始化数据库
chown -R root.mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data
cp /tmp/mysql-5.1.62/support-files/mysql.server /etc/rc.d/init.d/mysqld //init启动脚本
chown root.root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
service mysqld start
/usr/local/mysql/bin/mysqladmin -u root password &#39;新密码&#39; //设置root密码
安装5.2.17
在编译php之前,先要解决两个问题:centos 6上libmcrypt的安装和可能有些系统找不到libiconv导致的错误。
1、centos 6官方源已经没有libmcrypt的rpm包,我们这里选择编译安装,当然你也可以导入第三方源安装(centos 5略过此步)。
下载源码:
wget http://superb-dca2.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
wget http://superb-dca2.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
wget http://superb-sea2.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar xzf libmcrypt-2.5.8.tar.gz
tar xzf mhash-0.9.9.9.tar.gz
tar xzf mcrypt-2.6.8.tar.gz
//安装libmcrypt
cd /tmp/libmcrypt-2.5.8
./configure --prefix=/usr
make && make install
//安装libmcrypt
cd /tmp/mhash-0.9.9.9
./configure --prefix=/usr
make && make install
//安装mcrypt
/sbin/ldconfig //搜索出可共享的动态链接库
cd /tmp/mcrypt-2.6.8
./configure
make && make install
2、解决可能出现的libiconv错误。
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar xzf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
开始安装php-5.2.17:
cd /tmp/php-5.2.17
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp --with-gd --enable-gd-native-ttf --with-gettext --with-mhash --enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=/usr/local/libiconv --with-mysql=/usr/local/mysql --without-pear
make install
编译参数解释:
--prefix=/usr/local/php:设置安装路径
--with-apxs2=/usr/local/apache/bin/apxs:编译共享的 Apache 2.0 模块
--with-config-file-path=/etc:指定配置文件php.ini地址
--with-config-file-scan-dir=/etc/php.d:指定额外的ini文件目录
--with-openssl:编译OpenSSL支持
--with-zlib:编译zlib支持
--enable-bcmath:启用BC风格精度数学函数
--with-bz2:BZip2支持
--with-curl:CRUL支持
--enable-ftp:FTP支持
--with-gd:GD支持
--enable-gd-native-ttf:启用TrueType字符串函数
--with-gettext:启用GNU gettext支持
--with-mhash:mhash支持
--enable-mbstring:启用支持多字节字符串
--with-mcrypt:编译mcrypt支持
--enable-soap:SOAP支持
--enable-zip:启用zip 读/写支持
--with-iconv=/usr/local/libiconv:iconv支持
--with-mysql=/usr/local/mysql:启用mysql支持
--without-pear:不安装PEAR
更多编译参数解释参考http://www.php.net/manual/zh/configure.about.php或者./configure --help查看。
cp php.ini-dist /usr/local/php/etc/php.ini //复制配置文件php.ini
在/etc/httpd/conf/httpd.conf文件中加入php文件类型解析:
Addtype application/x-httpd-php .php
重启httpd:
service httpd restart
后来发现还是不行,提示系统不支持pdo,还有各种问题,最后又在网上找到了yum安装php5.4的方法,又决定重装系统yum安装,好了,重装系统!!!!
此处省略半天...................................................................................................................................................................................
装好之后,先yum install apache mysql mysql-server mysql-devel
重点来了!!!!
使用 Webtatic EL6的YUM源来安装php5.4,
rpm -Uvh /yum/el6/latest.rpm
yum install php54w
如果安装失败,先卸载以前的php
这样肯定不行,它会提示could not find driver
因为thinkphp里有用到pdo连接数据库,所以必须安装pdo模块!
我是自己又安装了php54w-mysql php54w-odbc php54w-pdo
每个人情况不一样,你们酌情安装!
附带的php扩展列表:
php54w-bcmath
php54w-cli
php-cgi, php-pcntl, php-readline
php54w-common
php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
php54w-dba
php54w-devel
php54w-embedded
php-embedded-devel
php54w-enchant
php54w-fpm
php54w-imap
php54w-interbase
php_database, php-firebird
php54w-intl
php54w-ldap
php54w-mbstring
php54w-mcrypt
php-mysqli, php_database
php54w-odbc
php-pdo_odbc, php_database
php54w-pdo
php54w-pgsql
php-pdo_pgsql, php_database
php54w-process
php-posix, php-sysvmsg, php-sysvsem, php-sysvshm
php54w-pspell
php54w-recode
php54w-snmp
php54w-soap
php54w-tidy
php54w-xml
php-dom, php-domxml, php-wddx, php-xsl
php54w-xmlrpc
php54w-zts
最后还是出了问题!!!提示
SQLSTATE[HY000] [2019] Can&#39;t initialize character set UTF-8
在这儿卡了好久,查了好多都,最后一个大牛过来,不到两分钟解决了问题,原因是在Thinkphp的配置文件上,连接数据库的时候字符集设置为UTF-8,在这把UTF-8改为UTF8就ok了!!!!这困扰了我一周的问题就被大牛秒了!!!大牛我膜拜你!!!顺便说一下,这个配置文件是在Index/conf/config.php,当初因为对thinkphp框架不熟悉,导致找这个文件找了好久!!!现在把我的痛苦经历写出来以免大家走弯路!!
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'

我要回帖

更多关于 apache2.4 的文章

 

随机推荐