php学习中---环境配置(OSX)

LAMP+phpMyAdmin
1. Linux(升级了Yosemite后,内置的php是5.5.14的,apache2是2.4.9的
2. Apache也是内置的,只需要启动就可以了
3. Mysql下载解压就可以了
4. php是把httpd.conf里面的加载项前面的#去掉
5. phpMyAdmin
6.设置虚拟主机


2.Apache

运行“sudo apachectl start”,再输入帐号密码,这样Apache就运行了。

运行“sudo apachectl -v”,你会看到Mac OS X Yosemite中的Apache版本号:

Server version: Apache/2.4.9 (Unix)
Server built:   Sep  9 2014 14:48:20

这样在浏览器中输入“http://localhost”,就可以看到出现一个内容为“It works!”的页面,它位于“/Library(资源库)/WebServer/Documents/”下,这是Apache的默认根目录。

注意:开启了Apache就是开启了“Web共享”,这时联网的用户就会通过“http://[本地IP]/”来访问“/Library(资源库)/WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites/”目录,可以通过设置“系统偏好设置”的“安全(Security)”中的“防火墙(Firewall)”来禁止这种访问。


3.Mysql

 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL Community Server”下方有一个“download”点击。

进入MySQL的下载界面(http://www.mysql.com/downloads/mysql/),如果你是用的Mac OS来访问的话那么就会默认为你选好了Mac OS X 平台,而下面罗列的都是在Mac OS上能用的MySQL的版本,如果是用的其他平台,在“Select Platform”选项的下拉列表中选一下就好了。

      在Mac OS上的MySQL的版本很多,其中有按平台来的,比如10.5/10.6等平台,然后有32位的和64位的,这个你按照自己系统的情况来进行选择,然后就是文件的后缀名有.tar.gz的和.dmg的,这里我选择的是.dmg的。点击右侧的download进行下载。

       然后会跳转到另外一个界面,这个界面是提示你需不需要注册的,直接选择最下面的“No thanks,just take me to downloads!”,然后这才真正跳转到了下载的界面,这个界面列了很多的供下载的服务器,选择一个服务器进行下载就OK了。

下载完后先安装主程序包

然后点击安装第2个文件MySQLStartupItem.pkg,这样MySQL就会自动在开机时自动启动了。

再点击安装第3个文件MySQL.prefPane,这样就会在“系统设置偏好”中看到名为“MySQL”的ICON,通过它就可以设置MySQL开始还是停止,以及是否开机时自动运行。到这里MySQL就基本安装完毕了。

通过运行“sudo vi /etc/bashrc”,在bash的配置文件中加入mysql和mysqladmin的别名

#mysql

alias mysql='/usr/local/mysql/bin/mysql'

alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

安装完毕之后MySQL的root默认密码为空,如果要设置密码可以在终端运行“mysqladmin -u root password "mysqlpassword"”来设置,其中mysqlpassword即root的密码。


4. php

在终端中运行“sudo vi /etc/apache2/httpd.conf”,打开Apache的配置文件。

找到“#LoadModule php5_module libexec/apache2/libphp5.so”,把前面的#号去掉,保存(在命令行输入:w)并退出vi(在命令行输入:q)。

运行“sudo cp /etc/php.ini.default /etc/php.ini”,这样就可以通过php.ini来配置各种PHP功能了。比如:

;通过下面两项来调整PHP提交文件的最大值,比如phpMyAdmin中导入数据的最大值

upload_max_filesize = 2M

post_max_size = 8M

;比如通过display_errors来控制是否显示PHP程序的报错

display_errors = Off

运行“sudo apachectl restart”,重启Apache,这样PHP就可以用了。

运行“cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php”,即在Apache的根目录下复制index.html.en文件并重命名为info.php

在终端中运行“vi /Library/WebServer/Document/info.php”,这样就可以在vi中编辑info.php文件了。在“It’s works!”后面加上“<?php phpinfo(); ?>”,然后保存之。这样就可以在http://localhost/info.php中看到有关PHP的信息,比如版本号是5.3.1。


5.phpMyAdmin

下载phpMyAdmin。选择合适的版本,比如我选择的是phpMyAdmin-3.3.2-all-languages.tar.bz2这个版本。

把“下载(downloads)”中的phpMyAdmin-3.32-all-languages文件夹复制到“/Users/[用户名]/Sites”中,名改名为phpmyadmin。(Sites是自己创建的文件夹,利用后面的虚拟主机技术可以使电脑访问Document文件夹或者是Sites文件夹,相当于你有两个网站)

复制“/Users/[用户名]/Sites/phpmyadmin/”中的config.sample.inc.php,并命名为config.inc.php

打开config.inc.php,做如下修改:

(1) 用于Cookie加密,随意的长字符串

$cfg['blowfish_secret'] = 'sadfkhfd';    //好像原配置文件就是随意的长字符串,不知道别人的是不是,如果不是的话就随便写上一个长字符串就好了 

(2) 更改$cfg['Servers'][$i]['host'] = 'localhost';

当phpMyAdmin中出现“#2002 无法登录 MySQL 服务器”时,

请把localhost改成127.0.0.1就ok了,

这是因为MySQL守护程序做了IP绑定(bind-address =127.0.0.1)造成的


这样就可以通过http://localhost/~[用户名]/phpmyadmin访问phpMyAdmin了。(因为还没有配置虚拟主机,所以建议先把phpMyAdmin放在/Library/WebServer/Document下,这个时候通过http://localhost/phpMyAdmin就可以使用phpMyAdmin了),如果这个时候就看到一个提示“无法加载 mcrypt 扩展,请检查您的 PHP 配置。”,这就涉及到安装MCrypt扩展了。

(3)安装mcrypt扩展

MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法。
1:下载并解压mcrypt-2.6.8.tar.bz2。(2.6.8为版本号,可以自行选择,但是注意后边步骤要与下载的版本号一致。)
2:在终端执行命令(注意如下命令需要安装xcode支持):

cd ~/Downloads/mcrypt-2.5.8
./configure --disable-posix-threads --enable-static
make
sudo make install

3: 下载 并解压php源码,根据自己情况选择对应版本。(注意以下命令中php的版本)

在终端执行命令:(如果出错请看后边)

cd ~/Downloads/php-5.5.14/ext/mcrypt
phpize
./configure
make
cd modules
sudo cp mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20121212/

(cd modules后当出现

Build complete.
Don't forget to run 'make test'.

表示安装成功。)

4:打开php.ini

sudo vi /etc/php.ini

添加如下代码:(注意no-debug-non-zts-20121212版本号,如果不清楚可以前往/usr/lib/php/extensions/查看)

extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so

*如果phpize出现如下错误:

grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

表示需要安装autoconf

*如果make出现如下错误:

/ext/mcrypt/mcrypt.c:25:10: fatal error: 'php.h' file not found

执行如下命令即可:

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include

*注意MacOSX10.10.sdk修改为自己系统的版本号*

6. 设置虚拟主机

在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件

在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。

运行“sudo apachectl restart”,重启Apache后就开启了它的虚拟主机配置功能。

运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,这样就打开了配置虚拟主机的文件httpd-vhost.conf,配置你需要的虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/usr/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost> 

而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:

Forbidden

You don't have permission to access /index.php on this server

最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。

然后增加如下配置

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents"
    ServerName localhost
    ErrorLog "/private/var/log/apache2/localhost-error_log"
    CustomLog "/private/var/log/apache2/localhost-access_log" common
</VirtualHost> 
 
<VirtualHost *:80>
    DocumentRoot "/Users/Griselda/Sites"
    ServerName mysites
    ErrorLog "/private/var/log/apache2/sites-error_log"
    CustomLog "/private/var/log/apache2/sites-access_log" common
    <Directory />
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order deny,allow
                Allow from all
      </Directory>
</VirtualHost>
该配置设置了两个网站的发布地址,一个是/Library/WebServer/Documents,一个是在/Users/Griselda/Sites里面

保存退出,并重启Apache。

运行“sudo vi /etc/hosts”,打开hosts配置文件,加入”127.0.0.1 sites“,这样就可以配置完成sites虚拟主机了,这样就可以用“http://sites”访问了,其内容和“http://localhost/~/[用户名]/Sites”完全一致。


需要注意一个问题是,如果不需要访问两个文件夹(即设置两个网站,可不配虚拟主机,如果虚拟主机没有配对,容易导致网页无法访问,这时候访问httpd.conf去掉虚拟主机的配置就可以了),如果在Document的原始发布文件下创建了新的文件夹作为网址,并想要通过http://localhost/****来访问****文件夹,通常会告诉你Forbidden,这时候需要在httpd.conf文件夹里面加入

<Directory "/Library/WebServer/Documents/phpTest">
     Options Indexes MultiViews
     AllowOverride AuthConfig Limit
     Order allow,deny
     Allow from all
</Directory>
这一段,表示可以通过网址访问phpTest文件夹。

但是如果有多个这一类的文件夹的话就需要没创建一个就配一次配置文件,这不是很方便,而且感觉上没有windows下php发布那么方便,所以可以增加一个Sites发布站点,这样感觉上会好一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值