志在指尖
用双手敲打未来

php环境搭建(mac一键安装php环境)

php环境搭建

一:准备工作
1.安装wget
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以可以使用HTTP代理。
sudoyuminstallwget
2.安装net-tools
最小化安装CentOS7时如果无法使用ifconfig命令,则需要安装net-tools,如果是安装的CentOS6版本则无需安装
sudoyuminstallnet-tools
3.更新yum源
yum-yupdate
4.安装vim
sudoyuminstallvim
5.配置显示行号
vim~/.vimrc
setnu#输入setnu后退出保存php
二:安装Nginx
1.安装依赖
(1)安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装gcc-c++。
(2)PCRE是一个Perl库,中文”Perl兼容的正则表达式库”。安装Nginx是为了使Nginx支持具备URI重写功能的rewrite模块,如果不安装pcre库,则Nginx无法使用rewrite模块功能,Nginx的Rewrite模块功能几乎是企业应用必须。
(3)zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在Centos上安装zlib库。
(4)OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要安装OpenSSL库。
yum-yinstallgccgcc-c++zlibzlib-devel
yum-yinstallpcrepcre-developensslopenssl-devel
说明:yum安装方式安装的pcre版本比较低,不过基本不影响使用
检查基础依赖包
上面的依赖安装完成后可以通过如下命令检查各个依赖安装是否成功
rpm-qapcrepcre-devel
rpm-qazlibzlib-devel
rpm-qaopensslopenssl-devel
rpm-qapcrepcre-devel
2.编译安装Nginx
#这里我们把安装包都放到了/usr/src目录下,便于统一管理
cd/usr/src#切换到软件包目录
wgethttps://nginx.org/download/nginx-1.14.1.tar.gz#下载nginx源码包
useraddnginx-s/sbin/nologin-M#创建nginx用户用于管理nginx程序
tarzxvfnginx-1.14.1.tar.gz#解压nginx源码包
cdnginx-1.14.1
#预编译
./configure\
–user=nginx\
–group=nginx\
–prefix=/usr/local/nginx-1.14.1\
–with-http_v2_module\
–with-http_ssl_module\
–with-http_stub_status_module
make&&makeinstall#编译和安装
cd/usr/local
ln-snginx-1.14.1nginx#创建nginx的软链接
安装说明
–prefix=PATH#设置安装路劲
–user=USER#进程用户权限
–group=GROUP#进程用户组权限
–with-http_stub_status_module#激活状态信息
–with-http_ssl_module#激活ssl功能
3.配置环境变量
vim/etc/profile
exportPATH=/usr/local/nginx/sbin:$PATH
source/etc/profile
4.配置开机自启
vim/etc/rc.local
#Nginx开机自启
/usr/local/nginx/sbin/nginx&
5.Nginx常用命令
/usr/local/nginx/sbin/nginx-t#检查Nginx配置语法是否有误
/usr/local/nginx/sbin/nginx#启动
/usr/local/nginx/sbin/nginx-sstop#立即停止
/usr/local/nginx/sbin/nginx-squit#平滑停止
/usr/local/nginx/sbin/nginx-sreload#重载配置
/usr/local/nginx/sbin/nginx-sreopen#重开日志
服务启动检查
可以通过该命令查询80端口被谁占用
lsof-i:80
如果无法识别该命令,需要安装lsof
sudoyuminstalllsof
6.关闭防火墙
CentOS6:
serviceiptablesstop临时关闭
chkconfig–level2345iptablesoff永久关闭
CentOS7:
systemctlstopfirewalld.service#令关闭防火墙
systemctldisablefirewalld.service#关闭防火墙开机自启动
通过浏览器输入IP测试是否成功
三:安装MySQL
1.安装依赖
(1)cmake是新版MySQL的编译工具,必须安装
sudoyuminstallgccgcc-c++cmakencurses-devel
如果你的系统是CentOS7,你还需要安装如下依赖
sudoyuminstallperlperl-develautoconf
2.编译安装MySQL
useradd-s/sbin/nologin-Mmysql#添加MySQL用户
wgethttps://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.42.tar.gz
tarzxvfmysql-5.6.42.tar.gz
cdmysql-5.6.42
cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.42\
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.42/tmp/mysql.sock\
-DMYSQL_DATADIR=/usr/local/mysql-5.6.42/data\
-DDEFAULT_CHARSET=utf8mb4\
-DDEFAULT_COLLATION=utf8mb4_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&&makeinstall
3.MySQL配置
cd/usr/local/mysql-5.6.42
chownmysql.mysql/usr/local/mysql-5.6.42/data
mkdirtmp
chownmysql.mysql/usr/local/mysql-5.6.42/tmp
rm-f/etc/my.cnf
cpsupport-files/my-default.cnf/etc/my.cnf
scripts/mysql_install_db–defaults-file=/etc/my.cnf–user=mysql
4.加入守护进程
cd/usr/local
ln-smysql-5.6.42mysql
cd/usr/local/mysql
cpsupport-files/mysql.server/etc/init.d/mysqld
chkconfig–addmysqld
5.配置环境变量
vim/etc/profile
exportPATH=/usr/local/mysql/bin:$PATH
source/etc/profile
6.启动MySQL
servicemysqldstart
mysql-uroot-p#第一次登陆不需要密码,回车即可
setpasswordforroot@localhost=password(‘root’);#修改密码
四:安装PHP
1.安装依赖
sudoyuminstallgccgcc-c++zipunziplibxml2libxml2-develcurl-develautoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-develzlibzlib-develglibcglibc-develglib2glib2-develgd-develbzip2bzip2-devel
2.编译安装PHP
cd/usr/src
wgethttp://hk1.php.net/get/php-7.2.12.tar.gz/from/this/mirror-Ophp-7.2.12.tar.gz
tarzxvfphp-7.2.12.tar.gz
cdphp-7.2.12
./configure\
–prefix=/usr/local/php-7.2.12\
–enable-fpm\
–with-fpm-user=nginx\
–with-fpm-group=nginx\
–with-zlib\
–enable-mysqlnd\
–with-pdo-mysql=mysqlnd\
–with-mysqli=mysqlnd\
–with-mysql-sock=/usr/local/mysql/tmp/mysql.sock\
–with-gd\
–with-png-dir\
–with-jpeg-dir\
–with-freetype-dir\
–with-iconv-dir\
–with-openssl\
–with-curl\
–enable-bcmath\
–enable-mbstring\
–enable-static\
–enable-zip\
–enable-sockets\
–enable-xml
make&&makeinstall
3.PHP配置
cd/usr/local
ln-sphp-7.2.12php
cp/usr/src/php-7.2.12/php.ini-development/usr/local/php-7.2.12/lib/php.ini
vim/usr/local/php/lib/php.ini
date.timezone=PRC#修改时区(大约在932行)
expose_php=Off#避免PHP信息暴露在http头中(大约369行)
display_errors=Off#生产环境设置为off,开发环境就设置为On,便于调试
说明:设置了dispaly_errors为off后,需要在php-fpm.conf中开启错误日志记录路径error_log=log/php-fpm.log
cdphp
cpetc/php-fpm.conf.defaultetc/php-fpm.conf
cd/usr/local/php/etc/php-fpm.d/
cpwww.conf.defaultwww.conf
#管理PHP-FPM
vim/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`
如果在编译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
4.配置环境变量
vim/etc/profile
exportPATH=/usr/local/php/bin:$PATH
source/etc/profile
5.配置开机自启
vim/etc/rc.local
#PHP-FPM自动启动
/usr/local/php/sbin/php-fpm&
6.启动PHP-FPM
cd/usr/local/php
sbin/php-fpm#启动PHP-FPM
ps-e|grepphp-fpm
7.配置Nginx和PHP关联
#usernobody;
worker_processes1;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
events{
useepoll;
worker_connections1024;
}
http{
includemime.types;
default_typeapplication/octet-stream;
#隐藏Nginx软件版本号
server_tokensoff;
#激活tcp_nodelay功能,提高I/O性能
tcp_nodelayon;
#设置读取客户端请求头数据的超时时间。此处的数值为15,其单位是秒,为经验参考值
client_header_timeout15;
#设置读取客户端请求体的超时时间
client_body_timeout15;
#指定响应客户端的超时时间
send_timeout25;
#上传文件大小限制
client_max_body_size8m;
#压缩配置
gzipon;
gzip_min_length1k;
gzip_buffers168k;
gzip_http_version1.1;
gzip_comp_level2;
gzip_typestext/csstext/xmltext/plainapplication/javascript;
gzip_varyon;
#includeextra/gzip.config;
#log_formatmain’$remote_addr-$remote_user[$time_local]”$request”‘
#’$status$body_bytes_sent”$http_referer”‘
#'”$http_user_agent””$http_x_forwarded_for”‘;
#access_loglogs/access.logmain;
sendfileon;
#tcp_nopushon;
#keepalive_timeout0;
keepalive_timeout65;
server{
listen80;
server_namewww.nginx.com;
roothtml/blog/public;
#access_loglogs/host.access.logmain;
location/{
indexindex.phpindex.htmlindex.htm;
if(!-e$request_filename){
rewrite^/(.*)$/index.php/$1last;
}
}
#error_page404/404.html;
#redirectservererrorpagestothestaticpage/50x.html
#
error_page500502503504/50x.html;
location=/50x.html{
roothtml;
}
#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000
#
location~\.php{
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_split_path_info^(.+\.php)(.*)$;
fastcgi_paramPATH_INFO$fastcgi_path_info;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
}
}
五:CentOS7开机/etc/rc.local不执行问题
CentOS7中,默认开机不再执行/etc/rc.local,查询/etc/rc.local里的内容可以发现如下描述:
#!/bin/bash
#THISFILEISADDEDFORCOMPATIBILITYPURPOSES
#
#Itishighlyadvisabletocreateownsystemdservicesorudevrules
#torunscriptsduringbootinsteadofusingthisfile.
#
#Inconstrasttopreviousversionsduetoparallelexecutionduringboot
#thisscriptwillNOTberunafterallotherservices.
#
#Pleasenotethatyoumustrun’chmod+x/etc/rc.d/rc.local’toensure
#thatthisscriptwillbeexecutedduringboot.
翻译过来就是
#这个文件是为了兼容性的问题而添加的。
#
#强烈建议创建自己的systemd服务或udev规则来在开机时运行脚本而不是使用这个文件。
#
#与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#
#请记住,你必须执行“chmod+x/etc/rc.d/rc.local”来确保确保这个脚本在引导时执行。
所以要解决开机不执行问题,只需要执行下面的命令然后重启服务器。
chmod+x/etc/rc.d/rc.localphp1

mac一键安装php环境

开启Apache服务
Mac系统下是自带Apache服务的,只需要开启即可。打开终端输入以下命令开启Apache服务。
sudoapachectlstart
打开浏览器在地址栏输入http://localhost,如果出现ItWorks就表示Apache服务开启成功。
1.jpg
Apache的网站服务器默认根目录在下面这个路径下。推荐:《PHP教程》
/Library/WebServer/Documents
上面打开的页面即是访问的源文件:/Library/WebServer/Documents/index.html.en
配置PHP环境
Mac系统下也是自带PHP环境的,只要将其打开即可。
编辑文件/etc/apache2/httpd.conf找到下面这一行,然后将前面的#注释符去掉,然后保存。
LoadModulephp*_modulelibexec/apache2/libphp*.so
其中*表示你机器上面PHP版本。
在/Library/WebServer/Documents下新建一个名为phpinfo.php的文件,在里面输入以下代码后,保存。
<?phpphpinfo();?>
打开浏览器在地址栏输入http://localhost/phpinfo.php,跳出以下信息就表示PHP环境配置成功。

未经允许不得转载:IT技术网站 » php环境搭建(mac一键安装php环境)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载