如何在mac系统中搭建php服务器

如何在mac系统中搭建php服务器,第1张

mac自带继承php环境的apache php 系统默认已经装好,需要把他启动

下载mysql官网有mac版本重新按linux的方法安装了一遍

mac系统安装php的方法(http://houdunwang.com/lesson.html):

安装PHP扩展要求Mac系统已经安装了Xcode环境和命令行开发工具,如果还没安装,可以使用Shell安装。

xcode-select --install

为了扩展管理方便,首先来安装pecl扩展管理器。

cd /usr/lib/php

sudo php install-pear-nozlib.phar

安装Redis、Memcache、Mongo等扩展。

sudo pecl install redis

sudo pecl install memcache

sudo pecl install mongo

sudo pecl install xdebug

将扩展配置添加的php.ini文件中:

extension=memcache.so

extension=mongo.so

extension=redis.so

zend_extension=xdebug.so

安装xcache,从官网下载http://xcache.lighttpd.net/wiki/Release-3.2.0

解压缩并安装

tar xvf xcache-3.2.0.tar

cd xcache-3.2.0

phpize

。/configure

make

sudo make install

配置XCache(参考文献:http://bbs.houdunwang.com/)

[xcache]

xcache.size = 128M

xcache.var_size = 8M

xcache.var_count = 1

xcache.var_slots = 8K

xcache.var_ttl = 0

xcache.var_maxttl = 0

xcache.var_gc_interval = 300

xcache.optimizer = Off

由于Mac自带的PHP环境是不包括mcrypt扩展的,所以需要下载同版本的php源码包,单独编译这个模块加载。从官网的归档里面找到php5.5.14的源码包,下载:http://php.net/releases/

tar zxvf php-5.5.14.tar.gz

cd php-5.5.14/ext/mcrypt/

phpize。/configure

make

sudo make install

配置ext-mcrypt

extension=mcrypt.so

为了加速,还需要打开opcache。

zend_extension=opcache.so

[opcache]

Determines if Zend OPCache is enabled

opcache.enable=0

Determines if Zend OPCache is enabled for the CLI version of PHP

opcache.enable_cli=0

以上就是在MAC OS X系统中安装PHP扩展的方法。

Macbook Pro配置PHP开发环境

安装环境如下:

Mac OS 10.10.1

Apache 2.4.9

PHP 5.5.14

MySQL 5.6.22

Apache配置

在Mac OS 10.10.1中是自带Apache软件的,我们只需要启动对应的服务就好了,以下命令是操作Apache时常用的几个命令:

// 启动Apache服务

sudo apachectl start

// 重新启动Apache服务

sudo apachectl restart

// 关闭Apache服务

sudo apachectl stop

// 查看Apache的版本

httpd -v

关于sudo命令,不用我多说了吧。先启动Apache服务吧,然后在浏览器中输入localhost。出现It works字样,说明Apache就搞定了。

在Macbook pro下,Apache的网站服务器根目录在/Library/WebServer/Documents路径下。

PHP配置

在Mac OS中已经自带了PHP了,我们只需要在Apache的配置文件中添加Apache对PHP的支持就好了,步骤如下:

编辑http.conf配置文件,命令如下:

sudo vim /etc/apache2/http.conf

去掉以下部分的注释:

LoadModule php5_module libexec/apache2/libphp5.so

重启Apache服务吧;

写一个简单的测试文件测试一下。

<?php phpinfo()?>

MySQL配置

安装MySQL是比较麻烦的,由于在Mac OS中是直接带有Apache和PHP的,所以安装它们,比较简单,而MySQL是不带的,需要去官网下载。

下载完成以后,直接安装吧。安装完成以后,从System Preferences中启动MySQL服务,如下图所示:

alt

从命令行登陆mysql,然后设置密码,如果对这里不熟悉的话,请参考这篇文章:《MySQL扫盲篇》《http://houdunwang.com/lesson.html》。

在使用命令行登陆MySQL的时候,会出现2002,找不到mysql.sock文件的错误。

由于MySQL是把mysql.sock文件放在/tmp目录下,而Mac OS却去了/var/mysql目录下寻找对应的mysql.sock文件,所以,由于找不到对应的mysql.sock文件,就出现了这里对应的2002错误了。

所以为了解决这个问题,我们需要在/var/mysql目录下,存放一个指向/tmp/mysql.sock文件的软链接,命令如下:

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

然后重新启动MySQL服务就OK

随着MAC操作系统和各种软件的不断升级,在系统上搭建APACHE2.4+PHP5.2的环境变得异常困难,笔者尝试过通过brew install php@5.6的环境,并利用brew-php-swithcer或者brew link php 5.6来和PHP7做切换,但实际使用中,PHP5依赖一些软件包,比如openssl比较老,导致出现各种问题,并不能很好的解决在一个电脑上,运行两套PHP开发环境的需求。基于此,笔者只能另辟蹊径,通过Dokcer来解决这个问题。

1、官网查找一下php可以使用的镜像(别人做好上传的),直接搜比如php5.2之类的

2、笔者找的是flandera/php5.2-apache这个,自带apache,由于缺乏文档,把镜像拉下来,跑一下进去看看

进去后,研究下结构,结果如下:

apache的conf文件目录在/etc/conf/apache2/apache2.conf,此外这个conf文件include了一个空的httpd.conf文件

网站根目录在/var/www下

3、解决思路

编制一个dockerfile文件,将httpd.conf文件打包成新的镜像

将程序通过docker命令映射到容器中

4、编制conf文件

5、编制dockerfile(参考,名称和目录根据实际修改)

6、重新编译并运行

执行命令时候,httpd.conf需要和Dockerfile在同一个目录,如果conf文件有改动,需要重新打包

5、mac电脑打

http://localhost:9987/webapp 看是不是正常了


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/269219.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存