争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

PHP环境如何搭建?PHP环境搭建(详细说明)

时间:2024/4/4作者:未知来源:争怎路由网人气:

grep php-fpm 如果在编译PHP时指定了--with-mysql=mysqlnd和--with-pdo-mysql=mysqlnd的参数,那么在生产中可能会遇到socket连接问题,解决办法是在php.ini里加入命令: pdo_mysql.default_socket=/usr/local/mysql/tmp/mysql.sock 最好是在编译PHP的时候,指定mysql.socket的位置: --with-mysql-sock=/usr/local/mysql/tmp/mysql.sock
开机自启
vim /etc/rc.local
# PHP-FPM自动启动
/usr/local/php/sbin/php-fpm &
管理PHP-FPM

记录pid

vi /usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log #24行这个在php.ini设置display_errors = Off时启用
设置完之后重启服务器
向进程发送信号,就可以完成进程管理
停止: kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
平滑停止: kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`
重启:kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
重新打开日志:kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`
配置Nginx和PHP关联

nginx.conf配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    
    #隐藏Nginx软件版本号
    server_tokens off;
    
    #激活tcp_nodelay功能,提高I/O性能
    tcp_nodelay on;

    # 设置读取客户端请求头数据的超时时间。此处的数值为15,其单位是秒,为经验参考值
    client_header_timeout 15;

    # 设置读取客户端请求体的超时时间
    client_body_timeout 15;

    # 指定响应客户端的超时时间
    send_timeout 25;

    # 上传文件大小限制
    client_max_body_size 8m;
    
    #压缩配置
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/css text/xml application/javascript;
    gzip_vary on;
    #include extra/gzip.config;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    include extra/*.conf;
}

在conf目录下新建一个extra目录,专门用于配置虚拟机;

例如,我们想配置一个www.nginx.con的域名,我们可以在extra下新建一个nginx.conf

server {
     listen       80;
     server_name  www.nginx.com;
     root html/blog/public;
     #access_log  logs/host.access.log  main;

     location / {
        index  index.php index.html index.htm;
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php/$1 last;
        }
     }

     #error_page  404              /404.html;

     # redirect server error pages to the static page /50x.html
     #
     error_page   500 502 503 504  /50x.html;
     location = /50x.html {
        root   html;
     }

     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     #
     location ~ \.php {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
     }
}
Nginx优化
# 开启gzip压缩功能
gzip on;

# 设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取。默认是0,表示不管页面多大都进行压缩。建议设置成1K,如果小于1K可能会越压越大。
gzip_min_length 1k;

# 压缩缓冲区大小。表示申请4个单位为32k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存来存储gzip压缩结果
gzip_buffers 4 32k;

# 压缩版本(默认1.1,前端为squid2.5时使用1.0),用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可
gzip_http_version 1.1;

# 压缩比率。用来指定gzip压缩比,1压缩比最小,处理速度最快; 9压缩比最大,传输速度快,但处理最慢,也比较消耗CPU资源。
gzip_comp_level 2;

# 指定压缩类型
gzip_types text/css text/xml application/javascript;

# header支持。该选项可以让前端的缓存服务器缓存经过gzip压缩的页面,例如用Squid缓存经过Nginx压缩的数据
gzip_vary on;

LAMP

安装依赖

sudo yum install gcc gcc-c++ perl perl-devel expat expat-devel autoconf libtool openssl openssl-devel

安装apr

下载地址:https://apr.apache.org
tar -zxvf apr-1.6.3.tar.gz
cd apr-1.6.3
./configure --prefix=/usr/local/apr
make && make install

安装apr-util

下载地址:https://apr.apache.org/
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

安装pcre

下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
tar zxvf pcre-8.42.tar.gz
cd pcre-8.42
./configure --prefix=/usr/local/pcre
make && make install

安装Apache

tar zxvf httpd-2.4.33.tar.gz
cd httpd-2.4.33
./configure \
--prefix=/usr/local/apache \
--enable-ssl \
--enable-so \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre
make && make install
配置环境变量
vi /etc/profile
export PATH="$PATH:/usr/local/apache/bin"
source /etc/profile
开机自启
vim /etc/rc.d/rc.local
/usr/local/apache/bin/apachectl start
配置
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
cp /usr/local/apache/conf/extra/httpd-vhosts.conf /usr/local/apache/conf/extra/httpd-vhosts.conf.bak

vi  /usr/local/apache/conf/httpd.conf

去掉152行前面的#号,开启重写模块
去掉194行前面的#号,去除错误信息
239行允许重写 AllowOverride All

开启Apache:
apachectl -k start
关闭防火墙
CentOS6:
service iptables stop   临时关闭
chkconfig --level 2345 iptables off 永久关闭

CentOS7:
systemctl stop firewalld.service  #令关闭防火墙
systemctl disable firewalld.service  #关闭防火墙开机自启动
通过浏览器输入IP测试成功

安装MySQL

安装依赖

(1)cmake是新版MySQL的编译工具

sudo yum install gcc gcc-c++ cmake ncurses-devel 
如下的几个依赖在CentOS7中需要安装,CentOS6不需要
sudo yum install perl perl-devel autoconf
编译安装MySQL
useradd -s /sbin/nologin -M mysql  # 添加MySQL用户
cd mysql-5.6.40
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.40 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.40/tmp/mysql.sock \
-DMYSQL_DATADIR=/usr/local/mysql-5.6.40/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_INNODB_MEMCACHED=1 \
-DWITH_DEBUG=OFF \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=ON \
-DMYSQL_MAINTAINER_MODE=OFF \
-DMYSQL_TCP_PORT=3306

make

make install
配置
cd /usr/local/mysql-5.6.40
chown mysql.mysql /usr/local/mysql-5.6.40/data
mkdir tmp
chown mysql.mysql /usr/local/mysql-5.6.40/tmp
rm -f /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
加入守护进程
cd /usr/local
ln -s mysql-5.6.40 mysql
cd //usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
配置环境变量
vi /etc/profile
export PATH="/usr/local/mysql/bin"
source /etc/profile
启动MySQL
service mysqld start
mysql -u root -p #第一次登陆不需要密码,回车即可
set password for root@localhost = password('root');  #修改密码

安装PHP

编译安装PHP
tar zxvf php-7.2.3.tar.gz
cd  php-7.2.3

./configure \
--prefix=/usr/local/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-zlib \
--with-gd \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-zip \
--enable-sockets \
--with-curl

make && make install
配置Apache与PHP关联
vi /usr/local/apache/conf/httpd.conf
# 加入 在 加载了PHP模块之后
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
# 保存,退出,重启
配置环境变量
vi /etc/profile
export PATH="$PATH:/usr/local/php/bin"
source /etc/profile

cp /root/package/php-7.2.3/php.ini-development /usr/local/php/lib/php.ini
vi /usr/local/php/lib/php.ini

date.timezone = PRC  (大约在932行)
配置虚拟主机
vi /usr/local/apache/conf/httpd.conf
258行,默认首页加入index.php
483行,开启虚拟主机支持
vi /usr/local/apache/conf/extra/httpd-vhosts.conf

vi /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    ServerAdmin www.huiwan.com
    DocumentRoot "/mnt/hgfs/web/huiwan"
    ServerName www.huiwan.com
    #ErrorLog "logs/dummy-host2.example.com-error_log"
    #CustomLog "logs/dummy-host2.example.com-access_log" common
    <Directory "/mnt/hgfs/web/huiwan">
        Options indexes Multiviews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

以上就是本篇的全部内容,更多相关教程请访问php编程从入门到精通全套视频教程php实战视频教程bootstrap视频教程

以上就是PHP环境如何搭建?PHP环境搭建(详解)的详细内容,更多请关注php中文网其它相关文章!


网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。



关键词:PHP环境如何搭建?PHP环境搭建(详细说明)




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版