【part1:搭建php环境】
1.选在自己需要安装的安装包版本,wget命令下载到服务器响应目录
http://php.net/releases/
2.解压安装包
tar zxf php-x.x.x
3.cd到解压目录执行如下操作
cd ../php-x.x.x
./configure --enable-fpm --with-mysqli
make
sudo make install
4.安装初始化文件准备
cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin
5.修改php.ini文件
vim /usr/local/php/php.ini
找到cgi.fix_pathinfo,去掉注释并改为:
cgi.fix_pathinfo=0
6.vim /usr/local/etc/php-fpm.conf(官网文档有错误,只是7以后的版本是有问题的)
修改最后一行为
include=etc/php-fpm.d/*.conf.default
7.启动php-fpm
include=etc/php-fpm.d/*.conf.default
8.检查是否启动成功
ps -ef|grep php-fpm
看到相应进程,则表示php环境安装成功。
【part2:nginx server支持php解析】
1.修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
2.修改loction块,支持php文件
location / {
root html;
index index.php index.html index.htm;
}
3.配置php文件请求传到后端php-fpm模块
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
4.启动或重启php
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s stop
5.添加测试文件,检查php的访问性
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
打开浏览器,访问 http://localhost,将会显示 phpinfo()
【3.php访问sqlite数据库代码】
<?php
//phpinfo();
class SQLiteDB extends SQLite3
{
function __construct()
{
$this->open('nowcoder.db');
}
}
$db = new SQLiteDB();
if(!$db){
echo $db->lastErrorMsg();
} else {
echo "Yes, Opened database successfully\n";
}
echo "<b> Select Data from company table :</b><hr/>";
$sql =<<<EOF
SELECT * from actor;
EOF;
$ret = $db->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
echo "ID = ". $row['actor_id'] . "<br/>\n";
echo "fname = ". $row['first_name'] ."<br/>\n";
echo "lname = ". $row['last_name'] ."<br/>\n";
echo "update_time = ".$row['last_update'] ."<br/>\n\n";
echo '----------------------------------<br/>';
}
echo "Operation done successfully\n";
?>
【常用命令】
# /etc/init.d/php-fpm start ||启动
# /etc/init.d/php-fpm stop ||关闭
【异常】
It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /var/www/html/ossec-wui/analogi/header.php on line 37, referer: http://#.#.#.217:8080/ossec-wui/analogi/
# vim /etc/php.ini
date.timezone = "Asia/Shanghai"
# service httpd restart