php安装
微信扫描文章首部二维码或搜索
zze_coding
关注我的微信公众号发送#php_package
即可获取php-5.4.26.tar.bz2
源码包。
1、解压 php 压缩包并编译安装:
$ tar xf php-5.4.26.tar.bz2
$ cd php-5.4.26
$ ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/httpd24/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
$ make && make install
说明:
- 这里为了支持 apache 的 worker 或 event 这两个 MPM,编译时使用了
--enable-maintainer-zts
选项。- 如果使用 PHP 5.3 以上版本,为了链接 MySQL 数据库,可以指定
mysqlnd
,这样在本机就不需要先安装 MySQL 或 MySQL 开发包了。mysqlnd 从 php 5.3 开始可用,可以编译时绑定到它(而不用和具体的 MySQL 客户端库绑定形成依赖),但从 PHP 5.4 开始它就是默认设置了,启用命令为./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
。- 上述
--with-apxs2=/usr/local/httpd24/bin/apxs
配置是让 php 编译成为 apache 的模块,如果把这项改为--enable-fpm
则表示启动 FPM 功能即使用 FastCGI 模式。
2、为 php 提供配置文件:
$ mkdir /etc/php.d
$ cp php.ini-production /etc/php.ini
3、 编辑 apache 配置文件 httpd.conf
,让 apache 支持 php。
$ vim /etc/httpd/httpd.conf
...
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
...
# 修改默认主页可为 index.php
DirectoryIndex index.php index.html
...
4、修改文档目录 /usr/local/httpd24/htdocs
下的 index.html
重命名为 index.php
,且内容如下:
<?php
// 123456 是数据库的密码,默认不设定时为空
$link = mysql_connect('127.0.0.1','root','123456');
if ($link)
echo "Success...";
else
echo "Failure...";
mysql_close();
phpinfo();
?>
5、执行 service httpd24 restart
重启 httpd 服务,浏览器访问主机 80 端口,结果如下:
6、测试虚拟主机配置:
$ vim /etc/httpd24/httpd.conf
...
# 取消监听 80 端口
# Listen 80
# 注释原有的 DocumentRoot
#DocumentRoot "/usr/local/httpd24/htdocs"
...
# 开启虚拟主机的分文件配置
Include /etc/httpd24/extra/httpd-vhosts.conf
...
7、配置虚拟主机:
$ mkdir /www/web{1,2} -pv
$ vim /etc/httpd24/extra/httpd-vhosts.conf
# 监听 8081、8082 端口
Listen 8081
Listen 8082
<VirtualHost *:8081>
DocumentRoot "/www/web1"
ErrorLog "/var/log/httpd24_web1_error_log"
CustomLog "/var/log/httpd24_web1_access_log" common
<Directory "/www/web1">
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:8082>
DocumentRoot "/www/web2"
ErrorLog "/var/log/httpd24_web2_error_log"
CustomLog "/var/log/httpd24_web2_access_log" common
<Directory "/www/web2">
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
8、在 /www/web{1,2}
目录下各创建 index.php
文件,内容分别如下:
<?php echo "from web1"; ?>
<?php echo "from web2"; ?>
9、重启 httpd 服务,浏览器分别访问 8081、8082 端口:
10、还可使用 httpd 自带的命令 ab
进行压力测试:
该命令的含义是每次并发 100 个请求,一共发送 5000 个请求。
php代码的执行流程
1、zend 引擎进行语法分析并编译为 opcode;
2、将 opcode 加载到内存执行 opcode;
为了避免 php 解释器自身去清除 opcode,并且实现在多个 php 进程间共享 opcode 的功能,引入了缓存器的功能。
常见的缓存器有:
- APC;
- eAccelerator;
- xCache;
缓存器xCache的安装
php 5.4 以上的版本需要 xCache 版本在 2.0 以上。
扫描文章首部二维码或搜索zze_coding
关注我的微信公众号发送#xcache
获取源码包。
1、解压并编译安装:
$ tar xf xcache-3.1.0.tar.bz2
$ cd xcache-3.1.0
$ /usr/local/php/bin/phpize
$ ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
$ make && make install
...
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
xCache 是 php 的扩展功能,几乎所有的 php 扩展功能在编译安装前都需要执行一下
phpize
命令以准备编译;
php-config
程序能够获取到 php 程序编译时设定的配置信息,xCache 在编译时会通过php-config
程序获取这些配置信息;
编译成功后最后输出的Installing shared extensions
信息需要保留;
2、为 php 提供 xCache 的配置文件:
$ cp xcache.ini /etc/php.d
3、编辑 xCache 的配置文件并配置:
$ vim /etc/php.d/xcache.ini
...
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
...
/usr/local/php/lib/php/extensions/no-debug-zts-20100525/
为 xCache 编译完成后输出的路径。
4、重启 httpd 服务,浏览器访问主机 80 端口,在页面中查找到如下 xCache 相关组件信息即表示 xCache 扩展安装成功:
评论区