|
今天看了一下网页游戏方面的内容,想学习一下,因为自己是搞java语言的,所以看到网页游戏的内容,感觉有些东西相对来说不一样,所以想了解一下,但是网页游戏涉足到php,所以只能从头开始学习php语言了。PHP在linux下的安装比我想象的繁琐。
第一:首先学习安装:
1、PHP之window安装。
我在官方网站http://www.php.net/downloads.php下载PHP的安装文件:php-5.2.17-Win32
下载:apache2.2(httpd-2.2.20-win32-x86-openssl-0.9.8r.msi)
配置相关信息:
1>配置apache的httpd.conf
在最后一个#LoadModule加入如下代码:
PHPIniDir "F:/application-server/php-5.2.17-Win32"
LoadModule php5_module F:/application-server/php-5.2.17-Win32/php5apache2_2.dll
AddType application/x-httpd-php .php
2>配置php.ini(此文件由复制php.ini-recommended,然后修改为php.ini)
修改:
extension_dir = "F:\application-server\php-5.2.17-Win32\ext"
cgi.force_redirect = 0,并取消前面的;号
分别查找以下四句话,将其之前的;去掉
extension=php_mbstring.dll(宽字符,用于支持PhpMyAdmin,避免出现字符显示问题)
extension=php_mcrypt.dll(用于支持PhpMyAdmin)
extension=php_mysql.dll(MySql模块,开启之后才能访问MySql数据库)
extension=php_mysqli.dll(MySql模块)
2、PHP之linux安装
操作系统使用centos5.6 32bit
先准备需要安装的软件包,如下:
apache:httpd-2.2.20.tar.gz
mysql server:MySQL-server-5.1.58-1.glibc23.i386.rpm
mysql client:MySQL-client.....
php:php-5.3.8.tar.gz
1>安装mysql-server和mysql-client
rpm -ivh MySQL-server-5.1.58-1.glibc23.i386.rpm
rpm -ivh MySQL-client.....
安装server后会启动mysql-server,启动的过程会出现一个问题:
Manager of pid-file quit without updating file.
打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器
生成mysql系统数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql& //启动mysql服务
/etc/init.d/mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’123456’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -u root -p
Enter password: 123456
2>安装apache
# tar -zvxf httpd-2.2.20.tar.gz
# cd httpd-2.2.20
# ./configure --prefix=/usr/local/apache2 --enable-module=so
# make && make install
# /usr/local/apache2/bin/apachectl -k start
可以直接通过访问地址:http://xxx.xxx.xxx.xxx/ 测试通过,页面显示如下:
让它随着系统自动启动:
# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
# chmod 700 /etc/rc.d/init.d/httpd
# vi /etc/rc.d/init.d/httpd
在第三行后增加
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90
# description:http server
# chkconfig –add httpd
# chkconfig –level 345 httpd on
重新启动操作系统,在启动细节中可以看到。
3>安装PHP
此时需要先安装相关依赖的软件包。参考网上的一些资料,所需要预先安装的软件有:
gd: PHP处理图像,使用了GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从 GD-1.6开始,GD库不再支持GIF,改为支持更好的,无版权争议的PNG。
JPEG:gb依赖软件。
libpng:同上。
libxml2:使用XML技术可以方便的完成数据文件的存储及解析读取,其格式化、解析过程由XML引擎完成,在Windows平台上可使用MSXML引擎,在Linux环境下可使用libxml2库完成操作。Libxml2库提供DOM、SAX操作接口,也实现了DTD、Scheme方式的验证,支持XPath语法查询,加上其稳定性及可移植性,满足了一般项目的要求,有关Libxml2具体介绍可参考
freetype:FreeType 被设计为一种占用空间小的、高效的、高度可定制的、并且可以产生可移植的高品质输出(符号图像)。可以被用在诸如图像库、展出服务器、字体转换工具、图像文字产生工具等多种其它产品上
ZendOptimizer: Zend Optimizer用优化代码的方法来提高PHP应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。
为什么这样?网上参考得到:
其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
是必要的选项
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png=/usr/local/lib
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
这是让PHP支持GD库的配置选项
--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持
--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
让PHP支持SOAP, 上面这些一般用得少, 可以去掉
安装libxml2是最麻烦的,如果没有安装好,系统就进入不了界面,只能通过命令行进入系统,但是可以使用覆盖安装来修复,但是如果你想将以前安装的文件删除解决问题,很难。
接下来还需要安装MySQL-devel-5.1.58-1.glibc23.i386.rpm和MySQL-shared-5.1.58-1.glibc23.i386.rpm,不然会少依赖的lib包,注意:记得执行连接,因为php会到mysql中去找
ln -s /usr/lib/libmysqlclient.so /usr/lib/mysql/libmysqlclient.so
最后终于可以安装php了。
首先通过./configure来检查
./configure -prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg8/ --with-mysql=/usr
最后终于完成了安装。
接着就是配置php和apache了。如下:
a、将php解压文件中的php.ini-production 复制到 /usr/local/php/php.ini
b、在httpd.conf文件中的LoadModule php5_module modules/libphp5.so后面增加AddType application/x-httpd-php .php
c、测试,通过修改htdocs/index.html 为index.php来测试,内容如下:
<html><body><h1><?php echo "helloworld!<br>";phpinfo();?></h1></body></html>.操作成功:
|
|
|
|
|
|
|