导航:首页 > 编程语言 > php项目自动化部署

php项目自动化部署

发布时间:2022-08-29 12:11:14

1. 如何在windows 2008 server r2中配置php程序

如何在windows 2008 server r2中配置php程序
一、准备工作
1、所需软件:
MySQL数据库:本文用MySQL-essential-5.0.45-win32.msi PHP : 本文用php-5.2.4-Win32.zip
ZendOptimizer :本文用ZendOptimizer-3.3.0-Windows-i386.exe 将上述软件网上搜索下载后置于同一目录中,比如:webtools(下文举例同)

2、安装IIS 7,简要步骤如下:
(1)在控制面板中,选择程序-打开关闭Windows功能;
(2)在弹出的Windows功能中选中Internet信息服务;
(3)展开-万维网服务-应用程序开发功能,选中ISAPI扩展(重要);
(4)确定后自动安装;
(5)在IE地址栏里输入http://127.0.0.1(你的IP地址),即可看到IIS7的欢迎界面(图1)

二、PHP环境部署攻略
MySQL数据库部署
(1) 安装MySQL数据库
进入 X:Webtools 目录点击MySQL-essential-5.0.45-win32.msi开始安装,
选择 Custom 定制安装,
选择"Change"更改MySQL 安装位置,
文件复制完毕后,进入 MySQL 设置界面,单击 Finish(完成) ,
选择 Detailed Configuration (详细配置),
选择 MySQL 运行模式,在此处,我们选择Server Machine
选择 MySQL 数据库默认存储方式-Non-Trans Only
设置最大连接数:这里我们选择 128 - 512 之间的整数即可。
此处设置 MySQL 网络参数,Strict Mode不要选择,
设置默认字符集:这里我们选择了GBK模式,需要按照自己的需要选择即可,
Windows服务模式设定
修改设定 root 用户密码(remote machines不要启动)
MySQL安装完成,
(2) 测试 MySQL数据库。

命令行模式下(开始-运行-CMD)输入:

MySQL –uroot –p
按照提示输入密码后,如能进入 MySQL 控制台则说明 MySQL 安装正常,否则需要检查先前安装步骤和相应服务是否启动,进行重新安装。
(3) 更改 MySQL 数据库目录
1)打开 cmd 命令提示符窗口,输入命令:
net stopMySQL
停止 MySQL 服务运行;
2) 打开X:WebMySQLmy.ini
找到:
Datadir ="X:WebMySQLdata"
修改为:
Datadir ="X:Database"
3) 将 X:WebMySQLdata 目录复制到 X: ,并重命名为X:Database;
4) 打开 cmd 命令提示符窗口,输入命令:net startMySQL 启动 MySQL 服务,重新测试 MySQL 是否工作正常。
5)准备 LibMySQL 动态链接库
将X:WebMySQLbinlibMySQL.dll 文件复制到C:WindowsSystem32 即可。

2. PHP服务部署
(1) 解压缩php-5.2.4-Win32.zip文件并将其复制到:X:WebPHP目录、将 php.ini-dist 重命名为 php.ini ;
(2) 打开 php.ini 文件,找到:extension_dir= "./"
将其改为;
extension_dir= "X:WebPHPext"
(3) 找到:Windows Extensions :(去掉模块配置每行前面的;号即可)
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_MySQL.dll
(5) 找到:
disable_functions =
改为:
disable_functions =phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,
openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
保存 php.ini 文件,并将其复制到 C:Windows 目录。

3. IIS 7整合PHP-新建站点
(1) 启动 IIS 管理器,选择新建-网站,
(2) 输入网站名称,可任意输入。网站IP地址不用填写,端口如没有特殊要求则保持 80 即可,最后正确输入网站域名。
(3) 在网站分区中建立 wwwroot 以及下级站点目录。
(4)给予该站点"读取"和"运行脚本"的权限以便PHP应用。

4. IIS整合 PHP- 使站点支持 PHP
(1) 打开刚刚建立的网站属性,
(2) 在站点属性窗口中,单击"主目录"页签,单击"配置"按钮,在新弹出的"应用程序配置"对话框中,单击"添加"按钮,加入 PHP 的 ISAPI 支持,选择可执行文件:X:WebPHPphp5isapi.dll 、扩展名为 .php 、限制动作为:GET,POST 。单击"确定"添加,并在"应用程序配置"窗口中查看 .php 扩展是否加载成功。若成功,则单击"确定"关闭配置窗口,回到站点属性主窗口。
(3) 单击"文档"页签,在默认内容文档中添加 index.htm、index.html、index.php 三个文件。
(4)右键单击"Web 服务扩展",添加 PHP 扩展支持。
(5) 在如下图的"新建WEB服务扩展"对话框中,"扩展名"填写PHP,"文件"选择 X:WebPHPphp5isapi.dll ,并设置该PHP扩展默认为允许。
(6) 重启 IIS 服务,

5、测试 PHP
IIS与PHP的整合已经完毕,下面需要测试 PHP 支持是否正常。
(1) 进入 X:wwwrootbbs 目录,新建一个 phpinfo.php 文件,内容为:
<?
phpinfo();
?>

2. php网站部署两套代码在两台服务器上面,如何做到上传文件同步

假设你这两台服务器是linux的,将第三台服务器当做文件共享服务器,挂载到你这两个服务器上的同一个位置,然后PHP上传文件时,保存到这个挂载盘上,这样两台服务器的附件就共享了,并且同步,不管在哪套程序上上传的,都一样。
当然也可以不需要第三台服务器,将你这两台中的一台挂载到另一台上,也是一样的效果。
windows服务器原理相同,不在赘述。
只用两台服务器,举例说明:
你的两个服务器分别是192.168.1.100和192.168.1.200
在192.168.1.100上,文件上传的目录设置为/var/tmp
将/var/tmp挂载到192.168.1.200的/var/tmp上
(1)在192.168.1.100上开启NFS服务并编辑/etc/exports文件:
chkconfig --level 35 nfs on
service nfs start
vi /etc/exports,加入:
/var/tmp 192.168.1.200(rw,sync,no_root_squash)
(2)在192.168.1.200上创建目录并挂载

mkdir /var/tmp
chmod 777 -R /var/tmp
mount 192.168.1.100:/var/tmp /var/tmp
这样就可以了。
你不管在哪台服务器上上传,都将文件保存到/var/tmp里,两个服务器之间的文件实现共享了

3. 如何用thinkPHP 构建一个简单的项目

1、使用sftp协议进行上传的操作:输入用户名和用户密码。

4. 如何利用git webhooks 实现网站代码自动化部署

1. 生成公钥

公钥有两个:1. git用户公钥,2. 部署公钥:

git用户公钥

ssh-keygen -t rsa -C "[email protected]"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径

1
2
3

ssh-keygen -t rsa -C "[email protected]"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径

部署公钥

sudo -Hu www ssh-keygen -t rsa # 请选择 “no passphrase”,一直回车下去

2. 准备钩子文件

创建和修改目录权限:

mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook

1
2

mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook

写入钩子文件:

sudo -Hu www touch /home/wwwroot/website.com/hook/index.php

1

sudo -Hu www touch /home/wwwroot/website.com/hook/index.php

<?php

error_reporting(1);

$target = '/home/wwwroot/website.com'; // 生产环境web目录

$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';

$json = json_decode(file_get_contents('php://input'), true);

if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}

$repo = $json['repository']['name'];

// $cmds = array(
// "cd $target && git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );

// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }

// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组

$cmd = "sudo -Hu www cd $target && git pull";

shell_exec($cmd);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

<?php

error_reporting(1);

$target = '/home/wwwroot/website.com'; // 生产环境web目录

$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';

$json = json_decode(file_get_contents('php://input'), true);

if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}

$repo = $json['repository']['name'];

// $cmds = array(
// "cd $target && git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );

// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }

// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组

$cmd = "sudo -Hu www cd $target && git pull";

shell_exec($cmd);

确保你的hook文件可以访问:http://example.com/hook/index.php,钩子准备完成。

3.修改git配置和保存git用户名密码

sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "[email protected]" # 邮箱请与conding上一致

1
2
3

sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "[email protected]" # 邮箱请与conding上一致

在Coding网站

1.添加用户公钥

复制/root/.ssh/id_rsa.pub内容到个人设置页的SSH公钥里添加即可(https://coding.net/user/account/setting/keys)

2.添加部署公钥

复制/home/www/.ssh/id_rsa.pub的内容并添加到部署公钥:

选择项目 > 设置 > 部署公钥 > 新建 > 粘贴到下面框并确认

3.添加hook

选择项目 > 设置 > WebHook > 新建hook > 粘贴你的hook/index.php所在的网址。比如:http://example.com/hook/index.php, 令牌可选,但是建议写上。

稍过几秒刷新页面查看hook状态,显示为绿色勾就OK了。

初始化

1.我们需要先在服务器上clone一次,以后都可以实现自动部署了:

sudo -Hu www git clone https://git.coding.net/yourname/yourgit.git /home/wwwroot/website.com/ --depth=1

1

sudo -Hu www git clone https://git.coding.net/yourname/yourgit.git /home/wwwroot/website.com/ --depth=1

这个时候应该会要求你输入一次Coding的帐号和密码,因为上面我们设置了永久保存用户名和密码,所以之后再执行git就不会要求输入用户名和密码了。

**!!注意,这里初始化clone必须要用www用户**

2.往Coding.net提交一次代码测试:

在本地clone的仓库执行:

git commit -am "test hook" --allow-empty
git push

1
2

git commit -am "test hook" --allow-empty
git push

OK,稍过几秒,正常的话你在配置的项目目录里就会有你的项目文件了。

初始化Laravel框架

1. 下载Composer

在项目目录下执行:

sudo -Hu www curl -sS https://getcomposer.org/installer | php
sudo -Hu www php composer.phar install

1
2

sudo -Hu www curl -sS https://getcomposer.org/installer | php
sudo -Hu www php composer.phar install

**!!记得在本地提交的时候在.gitignore中加上composer.phar**

5. 新手初学thinkphp,本地项目根目录不自动生成文件(夹)是怎么回事

1、引用路径是否正确。
thinkphp需要引入入口文件,一般是这样的:
//加载框架入口文件
require './ThinkPHP/ThinkPHP.php';2、检查你是否有写入文件和文件夹的权限,如果没有,需要先获取写入权限。

6. 如何在windows2008上部署php网站

phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6 ‘软件简介’ 该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序绿色小巧简易迷你仅有35M,有专门的控制面板。总之学习PHP只需一个包。 对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。 全面适合 Win2000/XP/2003/win7/win8/win2008 操作系统 ,支持Apache、IIS、Nginx和LightTPD。 ================================= 更新内容: 支持php版本升级或降级,指定php的版本自动下载配好。 新增MariaDB版本和64位版本,支持unicode。 php,apache,mysql.nginx等升级到最新版本。 修改xdebug不能调试的问题,环境端口判断更加智能。

7. php开发工具

PHP开发工具排行
1.SublimeText3

Sublime Text是一款流行的代码编辑器。Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。<去下载.....>
2.Notepad++7.3.1

Notepad++是在微软视窗环境之下的一个免费的代码编辑器。它使用较少的CPU功率,降低电脑系统能源消耗,但轻巧且执行效率高,使得Notepad++可完美地取代微软视窗的记事本。内置支持多达27种语法高亮度显示(包括各种常见的源代码、脚本,能够很好地支持.nfo文件查看),还支持自定义语言;可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,还可显示缩进引导线,代码显示得很有层次感;可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例;提供了一些有用工具,如邻行互换位置、宏功能等;可显示选中文本的字节数 (而不是一般编辑器所显示的字数,这在某些情况下,比如 软件本地化 很方便)。<去下载......>
3.Zend Studio 13.0.1

Zend Studio是一个屡获大奖的专业PHP集成开发环境,具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能。

Git和Github支持云开发部署深度,Zend Framework和Zend Server集成更快、更精简的IDE

8. Windows服务器如何部署PHP网站系统

可以了解一下xampp搭建环境,操作起来比较简单,下载安装包,然后安装即可,网站放在/xampp安装目录/htdocs中就可以使用localhost/test.php访问了。如果需要搭建站点,可以了解一下xampp如何配置虚拟主机。网络上面都是有教程的。
希望可以帮助到你~

9. PHP框架的PHP开发框架

一直以来php框架被广泛利用,多半都是基于mvc架构模式的,还有基于事件驱动模式的,大致列举几个。 ThinkPHP 是一个性能卓越并且功能丰富的轻量级PHP开发框架,本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应用开发更简单、更快速。从1.*版本开始就放弃了对PHP4的兼容,因此整个框架的架构和实现能够得以更加灵活和简单。2.0版本更是在之前的基础上,经过全新的重构和无数次的完善以及改进,达到了一个新的阶段,足以达到企业级和门户级的开发标准。国人开发的PHP框架,目前最新版本为3.2.3版本。
Canphp是一个中国开源的php框架,主要的设计理念就是为了追求简单,减少php初学者的学习成本,而且追求高效率,模版类不提供其他标签,直接应用php的源代码,还有它是微内核设计,移植性强,松散耦合等特点,能集成到你任何一个系统里面。其中集成的http类相当的强大,采集图片速度相当的快,为什么这样呢?因为适用了模拟异步多进程的原理。
KYPHP是一个中国开源的PHP框架,kyphp严格遵守OOP和MVC的理念,具有控件化、可扩展性强。kyphp设计理念是自由、简单。既可以用php源码编程,也可以使用标签,支持多语言,多数据库,多皮肤,多模型部署等,为程序员节省更多的时间。
InitPHP 是一款轻量级的php开发框架,采用分层体系架构,适合大中型网站架构。提供丰富的library类库,以及简单的框架扩展机制。InitPHP还提供详细的开发文档,可以让您在使用该框架的时候更加简单实用。InitPHP实现了抽象DB层、分层体系架构、缓存无缝切换机制、简单模板机制、多模型部署机制、强大的安全体系,是您快速开发php应用的利器!
SpeedPHP是一款全功能的国产PHP应用框架系统。她以“快速开发、快速学习、快速运行”为理念,在提高团队开发效率、容易学习及使用、轻量级架构以增加执行速度等方面有着突出的表现。SpeedPHP框架是从实际运行的商业系统中取其精华而成的,在稳定性和运行速度上都非常出色;同时有着清晰的架构,更有利于提高团队开发效率,教程众多,入门容易,号称最适合初学者的PHP框架,快速带你进入PHP高手的行列。
CdvPHP 一款简单开源PHP框架,灵感来源于DX,根据实际开发总结汇成快捷方便的轻量级框架。没有太多的硬性要求,也没有一本超厚的帮助手册。快速开发、部署、学习必备利器。KPHP即(kphp开源框架)是为了提高PHP开发效率而研发php开源框架,其核心简单精炼,代码安全并易于理解,功能更符合php学习开发的的需要,而且易于学习不改变程序员的开发习惯。 Zend Framework在开发社区中有大量的追随者,它致力于Web 2.0风格的程序。因为它众多的追随者组成的活跃用户开发的扩展支持,Zend被称为“The PHP Company”。Zend是一个(也可能不是)今天可用的最受欢迎的PHP开发框架。它有健壮的特征能够支持协作开发,它需要一些PHP的额外知识。
Codelgniter 以它的简单易用,性能和速度而闻名。与 Symphony 不同,这款PHP开发框架对于共享主机的用户而言很理想,如果你想有一个小型覆盖面的框架。它提供了简单的解决方案,还有扩展的知识库,通过视频教程,用户指南和wiki来提供支持。
CakePHP 无论对于初学者还是职业PHP开发者都是很好的选择。它基于与Rubyon Rails同样的原则而设计,它十分注重快速开发——这使得它成为一个非常好的用于RAD的开发框架。它快速增长的支持系统,简洁性和可测量性使得CakePHP成为今天可用的最受欢迎的PHP开发框架之一。
Symfony 是为那些更加职业的主要开发企业级程序的开发者而准备的——特别是 Askeet 和 Yahoo! Bookmarks。这款开源PHP开发框架有着丰富的特性,做起这些来绰绰有余,它主要的缺点是比其他的框架略微慢一些。
Yii 是一个基于组件、用于开发大型 Web 应用的 高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显着加速开发进程。Yii(读作“易”),代表简单(easy)、高效(efficient)、可扩展(extensible)。
Seagull 是一个良好的PHP开发框架,可以用来开发Web,命令行和GUI程序。这是一款无论对初学者还是职业程序员而言都及其简单的开发框架。对于初学者,Seagull提供一套包含样例程序的库,经过简单修改就能符合你的要求,而对于专家级程序员,Seagull提供了一整套设置选项——包括最佳练习,标准的和模块化的代码库——来快速简单地构建Web程序。Seagull有一个活跃的用户社区以及丰富的支持文档。
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。 E是一款非常简洁优秀开源的超轻量级PHP框架,致力于追求简洁,安全,自由,高效,是中小型项目首选框架。框架构架合理,一键生成完全合乎规范的大型网站文件夹架构,网站架构一目了然。强大的外部类库支持,分布式存储,强大的缓存系统,内置smarty模板引擎,单入口MVC模式,面向对象编程,具有微内核设计,移植性强,松散耦合等特点,能集成到你任何一个系统里面。无论您是一个NewPHPer 还是OLDPHPER,那么E框架是您的首选。学习完E框架后您可以快速并且轻松的驾驭其他框架,步入php高手之列。
DuoLamPHP是一款超轻量级的PHP框架,命名是按照多啦A梦动漫给改成的拼音形式。DP是一个简单、高效、上手容易的PHP框架,遵循apache开源协议。可以快速搭建出一个项目,作为一个超轻量级的PHP框架,完美支持MVC,完全面向对象。
Difeye框架 是一款超轻量级PHP框架,由Kohana框架精简而来,主要特点有:数据库连接自动主从读写分离配置,适合单机和分布式站点部署;支持Smarty模板机制;支持mysql、nosql类的mongodb等第三方数据库模块;完全分离页面和动作,自动执行Page_Load入口函数,支持二级路由,将页面模块和页面上的动作完全分离,使站点升级迁移更简单;框架简单易学容易部署;
GalaxixPhp 是一套专业的php建站框架,主要用于让用户在网上的建站,开发人员使用用 GalaxixPhp可以大大的缩小中型甚至大型网站的开发周期。GalaxixPhp 兼容 JavaScript ,可以无缝地与 Javascript,flash,PHP 等程序集成,适合构建展示、CMS、商城、论坛、博客、Wiki、等各种网站。并且官网上学习和说明文档以及视频教程齐全。是针对专业开发的人员的收费框架。并且官方正在不断推出更新更实用的框架插件。最新版本1.1.2.
PhpPeanuts 是一个用以开发数据库后端应用的PHP框架,包含一个可扩展的动态脚手架用来创建一个完整的web应用,提供用户界面和ORM,包括CRUD操作、关联关系以及一些示例查询。phpPeanuts 2.0 完全支持 PHP 5,遵循 ESTRICT 标准,不再使用变量引用来传递对象;提升了灵活性;更独立的模块,以及迭代的对象复制等等。
Rong Framework是一个国产的基于php5的面向对象开发框架,开发的主要目的是简化开发、高性能开发。支持数据库文件缓存、数据库通用操作及封装。简化CRUD代码编写。支持在线生成CRUD代码,只要选中数据表名称,就可以生成CRUD代码。不懂编程的人也可以做到。rong framework分为php代码模板(class Rong_View_PHP)和Rong_View_Wudimei(无敌美模板引擎,类似smarty)两种模板机制。拥有良好的MVC机制和url美化方式、可以在代码中实现URL重写(由Rong_Countroller_Route实现)。
Openbiz Framework是为搭建企业应用而设计的PHP的基于面向对象的快速开发框架。它可以帮助专业软件开发人员和技术咨询专家来构建用于网络上的企业级应用。Openbiz Framework的设计目标是节省构建复杂应用系统的开发投入和缩短开发时间。借助于Openbiz的帮助,应用程序的开发将基于完善的MVC架构建立,以Metadata驱动为核心描述业务逻辑,支持多种ORM逻辑,并且有Openbiz Appbuilder作为图形化集成开发环境的快速开发平台。

阅读全文

与php项目自动化部署相关的资料

热点内容
安卓11小游戏怎么玩法 浏览:186
gif有损压缩 浏览:929
windows下安装linux命令操作 浏览:840
米家app怎么设置进门亮灯 浏览:650
任我行服务器为什么会影响截图 浏览:294
安卓留言板怎么删除 浏览:16
做大厂程序员有什么感受 浏览:240
php文件只读 浏览:774
红色警戒3命令修改器112 浏览:433
安卓税收和苹果税是什么意思 浏览:446
快速排序算法的时间复杂度分析 浏览:111
大龄程序员困境 浏览:269
手机号忘了怎么登录农行app 浏览:573
商品信息管理系统php 浏览:9
效果器app怎么无线连接 浏览:404
clinux线程锁 浏览:851
怎么看新手机安卓充电器是不是原装 浏览:294
32单片机f4点灯源码 浏览:223
车载安卓导航开发者选项怎么开启 浏览:694
学生程序员兼职 浏览:360