php开发环境的部署

版权声明:本文为个人原创,欢迎转载,但请务必在明显位置注明出处!欢迎访问apeit.cn ! https://blog.csdn.net/u014190763/article/details/83034131

更多知识-程序猿:apeit

windows系统下php开发环境的部署

  1. 安装xammp
  2. 安装phpstorm
  3. 配置php,phpstorm,浏览器用来运行调试项目。

1.安装xammp
下载xammp,进行安装。基本上默认的就可以了,一直下一步就行了。
xammp(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。

2.安装phpstorm
基本上默认的就可以了,一直下一步就行了。

3.配置php,phpstorm,浏览器用来运行调试项目。
(1)设置php.ini
在安装目录下找到php.ini,类似于D:\xampp\php\php.ini,打开并找到被注释掉的项目并按如下设置:
zend_extension = “D:\xampp\php\ext\php_xdebug.dll”(根据实际情况确定)
xdebug.remote_enable =1
xdebug.remote_handler = “dbgp”
xdebug.remote_host = “localhost”
xdebug.remote_mode = “req”
xdebug.remote_port = 9000 //必须与phpstorm 上面的xdebug port一致
保存文件,重启Apache。
[注]其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port是客户端的端口

(2)设置phpStorm
设置PHP interpreter(设置项目的php编译环境):
选择php的安装目录,到达php.exe文件所在目录即可。
设置server:
进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填apache(服务器名字随便),host填localhost,port填80(填apache的端口就行了),debugger选XDebug

设置debug:
进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认

进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 PHPSTORM(与浏览器中的xdebug关键字设置成一样的),host 填localhost,port 填9001(不与debug一样)
-点OK退出设置。

下面两点非必要的:
一、设置项目运行,调试配置:
进入run->edit configuration->default->php web application:
server : Apache (先前设置的服务器)
start url : /test/ (项目)
browser: firefox(选择喜欢的)

二、设置deployment(发布项目;test为项目):
进入File>Settings>deployment:
设置项目所在路径 : local:D:\xammp\xampp\htdocs\test
设置web访问路径:/test/
connect type : 选择in place

(3)设置firefox:
1.在附加组件中添加拓展附件xdebug(eaist xdebug)
2.设置xdebug 的关键字(xdebug有选项按钮): PHPSTORM

Linux服务器下php运行环境的部署

当然你可以直接购买镜像包含环境的,有很多是免费的。非常方便。不过自己装的话很干净。自己安装也是很快的,5分钟搞定。
1.安装apache
2.安装php
3.安装mysql
4.拓展:安装过程可能遇到的一些问题

1.安装apache
yum install httpd #根据提示,输入Y安装即可成功安装
service httpd start

拓展:
apache 配置网站:
ServerName 123.56.162.99

DocumentRoot /var/www/web
ServerName qiuqiu77.com

DirectoryIndex index.php index.html
AllowOverride All
Order allow,deny
Allow from all

注释:ServerName/VirtualHost (123.56.162.99) 你自己的服务器IP,DocumentRoot/Directory( /var/www/web) 你网站的位置, ServerName(qiuqiu77.com)你的域名。

2.安装php
yum install php #根据提示输入Y直到安装完成#安装PHP组件,使 PHP5 支持 MySQL yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt #这里选择以上安装包进行安装,根据提示输入Y回车

3.安装mysql
使用yum命令安装:结果安装的是mariadb,没注意,启动mysql时才发现启动不了。
因为mysql收费了所以离开了开源的centos linux系统的集成,所以要自己下载。
所以要自己去官网下载,下面就是安装命令:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server

启动mysql:
service mysqld restart

初次安装mysql是root账户是没有密码的
设置密码的方法
#mysql -uroot
mysql> set password for ‘root’@‘localhost’ = password(‘mypasswd’);
mysql> exit
搞定!

远程授权连接mysql
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

到此,没有问题的话你完成了apache + php + mysql的安装,是不是觉得很轻松。
———————————————————————————————-
4.拓展:
因为自己买阿里云服务器的时候就是自带nginx + php环境的,我又没注意到这一点,结果导致了了一系列问题。
出现的问题
(1)mysql 重启时报错:The server quit without updating PID file (/data/mysql/mysql.pid).
查看日志文档:Check that you do not already have another mysqld process using the same InnoDB data or log files.
看下是否有其他进程占用了mysql的文件
ps -ef |grep mysql

发现果然有进程占用了mysql的文件
使用命令杀掉进程:kill number

(2)用这个命令# mysql -uroot 不能登录
Mysql 5.6及以后版本出处于安全考虑,root密码不为空。在安装的时候会生成随机密码。
分析:网上资料说密码保存在 /root/.mysql_secret文件,可。。尼玛,我没有这个文件啊!
解决方法:
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
/etc/init.d/mysqld status
mysqld dead but subsys locked
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
#mysqld_safe –skip-grant-tables &
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
#mysql
mysql> use mysql;
mysql> UPDATE user SET password=password(“test123”) WHERE user=’root’;
mysql> flush privileges;
mysql> exit;
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

(3)问题:mysql 无法远程连接。
<1>查看是否授权用户远程访问权限。给用户授权命令:
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
<2>查看是否可以远程连接端口
问题描述:
比如在本机telnet到192.168.8.170 主机的3306端口,被拒绝。
telnet: connect to address 192.168.8.170: Connection refused
原因:原因有两个 一个是被防火墙拦截,或者该端口的监听地址为本机(127.0.0.1)。如果这样的话,只有从本机发起的对端口的访问被允许,而外部主机访问被拒绝。
解决方案:
监听外部主机发起对本端口的访问:
可以通过“netstat -anp | grep 3306”命令查看该端口的监听地址。
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

打开mysql配置文件vi/etc/mysql/my.cnf

将bind-address = 127.0.0.1注销

shutdown -r now 现在立即重启
通过“netstat -anp | grep 3306”命令查看该端口的监听地址
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

开启防火墙对3306:
如果还是无法远程访问,就去看下防火墙是不是把3306给关闭了,开启下防火墙3306端口。
查看是否有这个文件/etc/sysconfig/iptables,如果没有

iptables -P OUTPUT ACCEPT

service iptables save 进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中

iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306数据库端口通过防火墙

service iptables save

cat /etc/sysconfig/iptables有3306这条信息

service iptables restart就ok咯

(1)服务器无法解析php没有任何显示?
分析:一般是apache 没有加载php模块。
解决方案:
加载php模块。centos7 的关联php的模块是:libphp5.so
(2)只有首页可以访问,其他页面都不可以访问.
分析:路径重写和访问权限问题。
<1> wordpress对目录下的.htaccess拥有读写权限
<2>固定链接的目录结构需要 Apache服务器的mod_rewrite模块支持,所以在Apache配置文件httpd.conf中将 LoadModule rewrite_module modules/mod_rewrite.so设置为启用。
<3>同样是Apache配置文件,其中对于站点目录下的AllowOverride None的参数设置为All。
当然修改完配置后,一定要重启Apache服务。

最后我又重装了干净的系统。再自己按照上面的步骤部署了环境,非常顺利。

参考文档:
http://blog.csdn.net/l00149133/article/details/50434004
http://www.cnblogs.com/daizhuacai/archive/2013/01/17/2865138.html
http://www.cnblogs.com/meetrice/p/5309666.html
http://blog.csdn.net/czmchen/article/details/46645763


更多知识程序猿:apeit

猜你喜欢

转载自blog.csdn.net/u014190763/article/details/83034131