本文目录一览:
- 1、php程序怎么部署运行
- 2、PHP项目的标准部署方式是怎样的
- 3、php手把手教你做网站(二十九)thinkphp6部署多个数据库
- 4、php项目如何部署在服务器上
- 5、使用sublime写php 怎么部署?
- 6、linux php源码怎么部署
php程序怎么部署运行
首先你要有windows2003和iis6.0(6.0以下就免谈了)。
然后要安装的东东依次为:php5.2,mysql5.0,phpmyadmin2.11
这些东西一个个去找实在是太麻烦了,幸好我们有wamp。
只要学会了安装wamp,那么就只剩下“配置”了。
下面所有牵涉到的文件路径都以wamp为准,php在wamp中的目录为wamp\bin\php\php5.2.5。
要让iis能够解析php,首先要把php.ini复制到c:\windows目录下,把php5isapi.dll复制到c:\windows\system32下。
然后从windows2003的管理工具中进入iis,新添加一个web服务扩展,扩展名可以任意填写,比如说“php服务扩展”,要求的文件则是php5isapi.dll,勾上“设置扩展状态为允许”。
然后新建一个网站,假设已经有了一个网站,右键“属性”,为网站创建一个“应用程序池”,执行权限为“脚本和可执行程序”,点击“配置”,添加一个
“应用程序扩展”,在新弹出的窗口中,可执行文件选择刚才的php5isapi.dll(最好是c:\windows\system32下的),”扩展
名”为.php,动作限制为“get,head,post,trace”,勾去“确认文件是否存在”
ok,这样php就基本上配置好了,可以去网站根目录下创建一个index.php,写入“
?php
phpinfo();?”,然后打开浏览器测试一下就可以了。
首先你必须修改php.ini,找到extension_dir这个参数,假设wamp安装在d盘,改成
extension_dir
=
“d:\wamp\bin\php\php5.2.5\ext\”,然后找到extension=php_mysql.dll和
extension=php_mysqli.dll,确保他们之前的逗号已经去掉。
接下就是关键了,在wamp\bin\php\php5.2.5目录下有一个关键的文件libmysql.dll,昨天困扰了许久,才想起以前配置
mysql的惨痛经历(都是wamp惹的祸,把php/mysql的安装搞的太简单了),这个文件一定要复制到c:\windows\system32目
录下去,否则就算在php.ini里面打开extension=php_mysql.dll也没有用,当浏览需要连接mysql的页面时,会报错说
“mysql”类型不存在。
我们就遇到了这样一个实际问题:54上已经在运行asp以及asp.net的网站,iis抢占了80端口,apache就不能使用了,这样难道你要别人在
单,在wamp中找到httpd.conf文件,将其中所有“80”字样替换成你想要的端口,重启apache就可以了。apache里面一共有4个地方
需要修改80:
listen
80,servername
localhost:80,namevirtualhost
*:80,前2个是默认的,后2个是配置了virtualhost才会出现。/pre
评论
加载更多
PHP项目的标准部署方式是怎样的
PHP 的世界里有 Composer(),这个玩意儿你可以联想成 npm 之于 Node.js,gem 之于 Ruby。它有一个官方的包仓库 Packagist()。
一般的项目部署也有相关的工具,例如 phing(),可以认为是 Ant 之于 Java。
举
例来说,现在做的项目用的是 Github+Jenkins 的方案,每个开发人员从主仓库 fork 到自己账户,然后提交 Pull
Request。Pull Request 会触发 Jenkins 的 Pull Testing,将改动部署到 QA
环境中,然后该怎么测试就怎么测试吧。部署脚本的工作主要包括清理原先的项目文件和数据库,取回代码库中最新的版本,跑 phing(包括数据库的
Migration、运行 PHPUnit, PHP CodeSniffer等一系列QA工具)等。最终部署到生产环境的过程是类似的。
php手把手教你做网站(二十九)thinkphp6部署多个数据库
前边介绍了负载均衡,mysql同步,接下来介绍tp6分布式部署多个数据库,实现读写分离。
tp6的分布式部署读和写仍然是一个系统,这里我们分开操作,给用户展示的就是从数据库,后端添加文章就是主库,然后同步到从库。
1、配置数据库链接参数
目标:实现随机使用数据库展示信息,只是读操作。
测试:前台可以读取表中内容(存放的不一致),查看是否是随机显示的。
打开.env文件进行编辑
说明:
2、编辑database.php
找到deploy设置为1分布式部署,下边不要改,都是读,写入的也就是后端的我们单独建站连接主库。
配置完成,tp6使用的是mt_rand取随机数判断使用哪个数据库。
3、数据库交互写操作
比如浏览量没必要每次都去更新数据库,可以先使用redis缓存,存够1000的整数倍,再去更新数据库。
4、后台独立,也就是写
可以前后端分离,单独做一个网站(没有前端)使用ip访问或者独立的域名连接后台。
5、上传附件(jquery ajax跨域上传)
使用了nginx负载均衡,肯定是多个一样的网站,如果图片存放到一个站,别的就不能访问了,可以单独设置一个附件(压缩包,图片等)服务器,可以使用二级域名连接,这就要求我们上传附件的时候,是上传到附件服务器。
jqueryURL
API控制器apdpic方法
说明:
也可以先传到后台服务器然后使用(php)ftp上传,或者是通过curl上传到附件服务器,感觉那样毕竟麻烦,直接设置跨域会比较简单。
也测试了使用jsonp跨域,但是不能上传附件。
6、thinkphp6实现读写分离(在一个站点)
我个人是不喜欢这样的,负载均衡应该是均衡地读,也就是前台单独一个站点,后端的写是另一个独立的站点,看个人喜好吧。
独立后台的优点:可以提升安全性,因为我们的后台网址是不公开的,避免用户猜测一些后台的信息。
.env配置按照1所述编辑,默认第一个是主库。
database.php
愿大家在新的一年心想事成,万事如意!!!
php项目如何部署在服务器上
一、阿里ECS服务器配置
1.因为线上已经有几个站点了.所以要配置ngnix多站点
2.阿里云ecs目录结构,ngxin 在/etc/nginx/目录下,配置的地方主要是nginx.config文件。或者在conf.d新建一个配置文件然后在include到nginx.config文件中
3.nginx.config新建站点信息
server {
listen 80;
server_name www.你的域名.com;
root 站点的相对路径;
index index.php index.html index.htm;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
#try_files $uri $uri/ /index.php;
root /opt/www/pcweb/ytyy_pc;
index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }} url重写(可以没有)
# redirect server error pages to the static page /40x.html
#
error_page 404 /404.html; 40错误页面配置
location = /40x.html {
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html; 50错误页面配置
location = /50x.html {
}
location ~ \.php$ {
root 站点相对路径;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
配置文件的基本内容如上;
配置完成后测试配置文件是否正确
这样配置就可以使用了
然后重启nginx服务器
这样nginx配置就结束了可以使用了。吧站点文件放到对应的目录下面。我直接git clone过去的。
二.thinkphp项目文件转移
本来以为上传完就结束了。上传上去碰到的第一个问题就是访问页面报错,页面被电信的114页面劫持了。。。麻蛋 看不到报错
万能百度大法
解决方法1.internet高级选项-隐私-站点 新加阻止站点
解决方法2:控制面板-网络和internet-本地连接-属性-ipv4 使用如下ip
终于搞定可以看到报错页面了。。。。。。麻蛋。再次开启万能百度大法
得到最终结论是文件目录权限引起的。thinkphp 的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单
进入到项目文件目录
直接跟文件最高权限
chmod -R 777 [目录] //linux修改文件权限
使用sublime写php 怎么部署?
sublime是一款集成开发环境,说白了是一款开发工具,用来方便写代码的。php的部署与你是什么工具编写关系不大,不过有的工具提供自动部署的功能,这个意义不大。具体的部署如下:
首先要确保已在电脑安装web服务器(nginx,apache等);
启动web服务器;
将写好的代码文件或者目录防止web服务器服务目录;
用终端命令执行,或者在浏览器输入项目路劲运行即可。
linux php源码怎么部署
想要部署代码,首先先把环境装好,根据你的系统,我装的是Ubuntu的,一般都是先装PHP,再装Apache,再装数据库。然后讲你的项目上传到相关的目录,然后再Apache配置里面指定目录,再重启Apache,就可以访问了