环境:PHP 5.3.3、Apache 2.0、MySQL 5.1.73、CentOs 6.5
工具:FileZilla、Navicat (win下另需准备SSH Secure Shell)
首先登录服务器
使用SSH连接centos
ssh root@127.0.0.1
用户名@ip地址,之后输入密码。
如果遇到这个错误RSA host key for mysharebook.cn has changed and you have requested strict checking.
Host key verification failed.这是Linux重装或则openssh-server重装引起的,执行以下命令即可
ssh-keygen -R IP
把IP换成你要连的服务器就可以了。
安装php apache mysql
执行命令
yum install httpd yum install mysql yum install php
查找Apache安装目录
连接成功之后,输入命令
find / -name httpd.conf
查找到配置文件,在配置文件中搜索
DocumentRoot
后边的目录就是默认的用于部署的目录。
上边find命令是在所有文件中查找,也可以指定在某个文件夹下查找,例如:find /etc -name httpd.conf使用Filezilla上传所有代码到部署目录。
使用Navicat上传数据库
连接之后新建一个数据库(New Database),执行本地sql文件
Centos上Apache重启,mysql重启, nginx 重启方法
1.重启 apache
service httpd restrat
/etc/init.d/httpd stop
/etc/init.d/httpd start
2.重启 mysql
service mysql restart
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
3.重启Nginx
service nginx restart
/etc/init.d/nginx stop
/etc/init.d/nginx start
Apache伪静态支持
首先确定Apache是否加载了Mod_rewrite 模块
方法: 检查 httpd.conf 中是否存在以下代码,去掉注释#LoadModule rewrite_module libexec/mod_rewrite.so
检查Apache是否开启.htaccess支持
httpd.conf
所有的AllowOverride All #如果后面参数为None需要修改为All重启Apache
Mac中php.ini、hosts等文件的位置
- 位于/private/etc文件夹下,private文件夹是一个隐藏文件夹。
该文件夹中没有php.ini文件,而是有一个php.ini.default文件。所以我们需要copy一份出来,然后进行修改。
cd /private/etc/ sudo cp php.ini.default php.ini
修改php.ini配置
sudo nano /private/etc/php.ini
nano命令详见参考资料介绍。
服务器中访问远程数据库并执行sql文件
登录服务器(服务器中需安装mysql),执行命令
mysql -hip地址或者域名 -u用户名 -p
输入密码,登录成功之后会显示如下界面
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 470729593 Server version: 5.6.29 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
查看远程服务器中的数据库
show databases
选择需要操作的数据库
use 数据库名称
选择要执行的sql文件的路径(文件需要在你连接数据库的服务器中)
source 文件路径
Mac中配置Apache+Mysql+PHP环境
启动Apache
sudo spschectl start
如果启动之后在浏览器访问127.0.0.1显示”it works!”就表示已经启动成功
Apache默认Root目录
Apache系统级的根目录及对应网址是:
/Library/WebServer/Documents/ http://localhost可以在/private/etc/Apache2中修改httpd.conf来进行配置。
启动PHP
sudo nano /private/etc/apache2/httpd.conf
打开之后Ctrl+w查找php 找到下边代码之后去掉注释#,然后保存。
#LoadModule php5_module libexec/apache2/libphp5.so
重启Apache
sudo apachectl restart
现在PHP应该已近正常工作了 可以在Apache的根目录下添加一个index.php文件进行测试,文件中写入如下代码
<?php phpinfo(); ?>
安装Mysql
你可以点击 http://dev.mysql.com/downloads/mysql/ 去官网下载 MySQL 的安装包。
请下载 Mac OS X 10.7 (x86, 64-bit), DMG Archive (如有更新版本,可下载)。下载完成之后进行安装,安装完成时需要注意的事,到最后一步的时候mysql会给你一个默认的root用户和密码,
一定要记下来
.在偏好设置中最后部分打开mysql,并且启动。或者可以在命令行直接启动mysql,但是要注意,如果在mysql已经启动的情况下,再使用命令行进行启动,会出现一系列的错误,此时需要将已经启动的mysql进程杀掉,重新启动。
sudo /usr/local/mysql/support-files/mysql.server start
上边的目录结构是mysql的默认安装位置
如果不想每次都输入这么长的路径进行定位的话,可以参考后边资料中进行环境变量配置,或者使用alisa命令设置别名,但是设置的别名只能在当前当次终端中有效。alisa mysql=/usr/local/mysql/bin/mysql alisa mysqladmin=/usr/local/mysql/bin/mysqladmin
登录mysql,并修改初始密码
sudo /usr/local/mysql/bin/mysqladmin -uroot -pyrWVyoNq?0eP password 123456
修改之后在登录mysql
mysql -u root -p
输入密码登录
如果在项目访问数据库的时候出现"No such file or directory"时,
首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回“No such file or directory”
写个phpinfo页面,找到mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket
启动mysql,执行命令 STATUS; 记下UNIX socket的值
如果2和3的值不一样,则打开php.ini(可以从phpinfo页面中找到php.ini的位置,默认是/private/etc/php.ini),将2中提到的三个配置项的值改成3的值。
(注意,一共修改三处,分别为:mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket)- 重启apache
Linux下的文件权限
-rwxrwxrw、-drwxrwxrwx、-r-xr-xr-x、-rw——-
r读 数字4,w写数字2,x执行数字1,3个一组, 第一组是自己的权限,第二组是自己所在组的权限,第三组是所有人的权限 改变的话输入: chmod 764 文件路径 //修改该文件的权限 chmod 764 文件路径 //修改该文件下的所有文件的权限 7=4+2+1,6=4+2,4=4 前边有d的代表的是该文件为文件夹
brew
mac下安装phpstorm之后,运行会报502错误,提示
php-cgi not found Please ensure that configured PHP Interpreter built as CGI program (--enable-fastcgi was specified)
这是由于我们使用的是mac中自带的php导致的 所以我们需要重新下载一个php,而此时,使用brew来安装就是最好的选择。
如果在安装过程中报这个错
Error: Formulae found in multiple taps: * homebrew/php/php54 * josegonzalez/php/php54
使用如下命令消除
brew untap josegonzalez/homebrew-php
然后开始下载,直到出现如下画面时表示安装成功
安装完成之后可以使用 brew search php53- 命令,可以查看还有哪些扩展可以安装,然后执行 brew install php53-XXX 就可以了。
这个时候,我们使用 phpinfo 函数显示出来的php版本还是max自带的PHP5.4,需要我们修改 apache的配置文件 httpd.conf,加载的php5模块路径指向刚刚安装的 php5.3目录里的 libphp5.so:
LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so
重启apache,phpinfo() 脚本里显示的 php 版本就变成了 PHP Version 5.3.29。
当我们使用brew安装了双版本的php的时候,brew安装的php的安装路径为
/usr/local/opt/php53
php.ini文件的路径为
/usr/local/etc/php/5.3/php.ini
参考资料:
Linux下安装Apache+PHP+MySql搭建PHP运行环境
Mac OS X 配置 Apache+Mysql+PHP 详细教程
nano命令
Mac下PHP连接MySQL报错"No such file or directory"的解决办法
Mac下通过 brew 安装不同版本的php
Mac入门(三)使用brew安装软件