您当前的位置:首页 > 互联网教程

php项目怎么部署到服务器(php项目怎么部署到服务器中)

发布时间:2025-05-21 17:20:26    发布人:远客网络

php项目怎么部署到服务器(php项目怎么部署到服务器中)

一、php项目怎么部署到服务器(php项目怎么部署到服务器中)

使用php开发的项目必须部署在才能正常运行

使用PHP开发的项目必须部署在Web服务器上才能正常运行。PHP是一种服务器端脚本语言,用于开发动态网站和Web应用程序。PHP脚本必须在Web服务器上运行,才能被解释和执行。因此,使用PHP开发的项目必须部署在Web服务器上才能正常运行。在部署PHP项目时,需要将PHP脚本文件和相关的资源文件上传到Web服务器上,并配置好Web服务器的环境和参数,以确保PHP脚本能够被正确解释和执行。常用的Web服务器包括Apache、Nginx等,可以根据具体需求选择合适的Web服务器进行部署。需要注意的是,部署PHP项目时需要考虑安全性和性能等因素,以确保项目的稳定性和可靠性。

使用PHP开发的项目必须部署在Web服务器上才能正常运行。PHP是一种服务器端脚本语言,用于开发动态网站和Web应用程序。PHP脚本必须在Web服务器上运行,才能被解释和执行。因此,使用PHP开发的项目必须部署在Web服务器上才能正常运行。在部署PHP项目时,需要将PHP脚本文件和相关的资源文件上传到Web服务器上,并配置好Web服务器的环境和参数,以确保PHP脚本能够被正确解释和执行。常用的Web服务器包括Apache、Nginx等,可以根据具体需求选择合适的Web服务器进行部署。需要注意的是,部署PHP项目时需要考虑安全性和性能等因素,以确保项目的稳定性和可靠性。

首先是要对数据结构进行规划,然后根据项目大小决定是否用php框架或模板技术,之后就是后台功能开发,最后再把数据在前台展示出来;这只是基本步骤,真正实施起来,涉及的东西是很多的,要注意的细节也很多

1,切换到nginx的配置目录,找到nginx.conf文件

2,如果是单项目部署的话,只需要在nginx.conf文件里面加上以下

????????#域名,本地测试可以使用127.0.0.1或localhost

????????root/home/data-www/blog;

????????????????#定义首页索引文件的名称

????????????????indexindex.phpindex.htmlindex.htm;

???????????????if(-f$request_filename/index.html){

????????????????????????????rewrite(.*)$1/index.htmlbreak;

????????????????if(-f$request_filename/index.php){

????????????????????????????rewrite(.*)$1/index.php;

????????????????if(!-f$request_filename){

????????????????????????????rewrite(.*)/index.php;

????????????????try_files$uri$uri//index.php?$query_string;

????????#PHP脚本请求全部转发到FastCGI处理.使用FastCGI协议默认配置.

????????#Fastcgi服务器和程序(PHP)沟通的协议

????????????????fastcgi_pass127.0.0.1:9000;

????????????????#设置nginx的默认首页文件

????????????????fastcgi_indexindex.php;

????????????????#设置脚本文件请求的路径

????????????????fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;

????????????????#引入fastcgi的配置文件

????????????????includefastcgi_params;

???????????????fastcgi_split_path_info^(.+?\.php)(/.*)$;

????????????????set$path_info$fastcgi_path_info;

????????????????fastcgi_paramPATH_INFO$path_info;

????????????????try_files$fastcgi_script_name=404;

3,如果多项目部署,就需要配置vhost

第一步:编辑nginx.conf文件,在最后加上???include??vhost/*.conf;

第二步:进入vhost文件夹,创建??域名.conf??文件,如创建一个:quanma.meyat.com.conf

第三步:编辑quanma.meyat.com.conf文件,内容如下:

????????????????server_namequanma.meyat.com;

????????indexindex.htmlindex.htmindex.phpdefault.htmldefault.htmdefault.php;

????????????????root/data/wwwroot/default/quanma/public/;

????????????????#error_page404/404.html;

????????????????????????indexindex.htmlindex.php;

????????????????????????if(-f$request_filename/index.html){

????????????????????????????????rewrite(.*)$1/index.htmlbreak;

????????????????????????if(-f$request_filename/index.php){

????????????????????????????????rewrite(.*)$1/index.php;

????????????????????????if(!-f$request_filename){

????????????????????????????????rewrite(.*)/index.php;

????????????????????????try_files$uri$uri//index.php?$query_string;

????????????????location~[^/]\.php(/|$)

????????????????????????#commenttry_files$uri=404;toenablepathinfo

????????????????????????#try_files$uri=404;

????????????????????????fastcgi_pass127.0.0.1:9000;

????????????????????????fastcgi_indexindex.php;

????????????????????????includefastcgi_params;

????????????????????????fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;

????????????????????????fastcgi_split_path_info^(.+?\.php)(/.*)$;

????????????????????????set$path_info$fastcgi_path_info;

????????????????????????fastcgi_paramPATH_INFO$path_info;

????????????????????????try_files$fastcgi_script_name=404;

????????????????????????#includefastcgi.conf;

????????????????????????#includepathinfo.conf;

????????????location~.*\.(gif|jpg|jpeg|png|bmp|swf)$

????????????????????expires30d;

????????????location~.*\.(js|css)?$

????????????????????expires12h;

????????????#Disallowaccessto.ht,.svn,.bzr,.git,.hg,.cvsdirectories

????????????location~/\.(ht|svn|bzr|git|hg|cvs){

????????????#access_log/date/nginx/bmp.com.conf/access.logmain;

你好,如果你的服务器是Windows系统,那么你需要远程到你的服务器,进行启动IIS(asp环境),如果你需要php环境,你可以从xp.cn(小皮)或者bt.cn(宝塔)安装面板

如果你的服务器是Linux,建议使用宝塔

打开终端,不同Linux系统的输入指令不同:

终端输入:yuminstall-ywgetwget-Oinstall.shshinstall.sh

终端输入:wget-Oinstall.shsudobashinstall.sh

终端输入:wget-Oinstall.shbashinstall.sh

终端输入wget-Oinstall.shbashinstall.sh

???1.因为线上已经有几个站点了.所以要配置ngnix多站点

???2.阿里云ecs目录结构,ngxin在/etc/nginx/目录下,配置的地方主要是nginx.config文件。或者在conf.d新建一个配置文件然后在include到nginx.config文件中

indexindex.phpindex.htmlindex.htm;

#access_log?/var/log/nginx/host.access.log?main;

#Loadconfigurationfilesforthedefaultserverblock.

include/etc/nginx/default.d/*.conf;

#try_files$uri$uri//index.php;

index?index.phpindex.htmlindex.htm;???????if(!-e$request_filename){?rewrite?^(.*)$/index.php?s=$1?last;?break;??}}??????url重写(可以没有)

#redirectservererrorpagestothestaticpage/40x.html

error_page?404???????/404.html;?40错误页面配置

#redirectservererrorpagestothestaticpage/50x.html

error_page?500502503504?/50x.html;?50错误页面配置

fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;

配置完成后测试配置文件是否正确

这样nginx配置就结束了可以使用了。吧站点文件放到对应的目录下面。我直接gitclone过去的。

本来以为上传完就结束了。上传上去碰到的第一个问题就是访问页面报错,页面被电信的114页面劫持了。。。麻蛋看不到报错

解决方法1.internet高级选项-隐私-站点??新加阻止站点

解决方法2:控制面板-网络和internet-本地连接-属性-ipv4?使用如下ip

终于搞定可以看到报错页面了。。。。。。麻蛋。再次开启万能百度大法

?得到最终结论是文件目录权限引起的。thinkphp的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单

chmod-R777[目录]?//linux修改文件权限

前端vue与后端Thinkphp在服务器的部署

vue在服务端部署时,我们都知道通过npmrunbuild指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览。要使前端正常调用后端数据,有两种方法:1、前端跨域调用后端数据,2、前端打包文件部署在后端的服务器文件夹下(同域)。

vue在服务端部署时,我们都知道通过npmrunbuild指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览。要使前端正常调用后端数据,有两种方法:1、前端跨域调用后端数据,2、前端打包文件部署在后端的服务器文件夹下(同域)。

在路径/home/www/??下创建test项目文件夹,用来放项目文件。??

找到httpd-vhosts.conf文件配置站点??

????ServerName?test.test.com??

????DocumentRoot?"/home/www/test/dist"????

????DirectoryIndex?index.html??

????ServerName?test.testphp.com??

????DocumentRoot?"/home/www/test/php"????

????DirectoryIndex?index.php??

将前端打包好的dist文件放在/home/www/test/文件夹下,运行可浏览,当路径改变时,刷新会出现404错误。此时dist文件下创建一个.htaccess文件,当路径不存在时,路径指向能解决此问题。

??RewriteRule?^index\.html$?-?[L]??

??RewriteCond?%{REQUEST_FILENAME}?!-f??

??RewriteCond?%{REQUEST_FILENAME}?!-d??

??RewriteRule?.?/index.html?[L]??

在/home/www/test文件夹下创建项目根目录php文件夹,将thinkphp文件放在php下。TP5的入口文件在public文件下,在这将public下的入口文件index.php挪到php文件夹下(个人习惯将入口文件放在项目根目录),后端绑定Index模块。

前端调用后端接口,存在跨域,跨域解决方法有好几种,在这我将在后端php做配置,解决跨域问题,在公用控制器设置跨域配置:

class?Common?extends?Controller??

????public?function?_initialize()??

????????parent::_initialize();??

????????isset($_SERVER['HTTP_ORIGIN'])???header('Access-Control-Allow-Origin:?'.$_SERVER['HTTP_ORIGIN'])?:?'';??

????????header('Access-Control-Allow-Credentials:?true');??

????????header('Access-Control-Allow-Methods:?GET,?POST,?PUT,?DELETE,?OPTIONS');??

????????header("Access-Control-Allow-Headers:?Origin,?X-Requested-With,?Content-Type,?Accept,?authKey,?sessionId");??

$param?=??Request::instance()-param();??

前端调用登录接口:this.axios.post('',{user:'',password:''})。

(可在webpack.base.conf.js文件下可定义接口:)

后端配置同上,公共配置器中的header配置注释。将前端的dist文件下的所有文件(包含.htaccess),放在php文件夹下。将后端index控制器的index方法的路径重定向php下的index.html文件:

namespace?app\index\controller;??

class?Index?extends?Controller??

????public?function?index()?{??

$this-redirect('/index.html');??

前端调用登录接口:this.axios.post('/index.php/base/login',{user:'',password:''})

二、服务器如何部署php

1、首先是下载PHP安装文件和MYSQL安装文件,请注意MYSQL有很多个版本,有社区版、标准版、企业版、集群版,其中只有社区版是免费的。

2、在服务器上配置好IIS,推荐IIS7以上版本,控制面板-打开或关闭windows功能-万维网服务-应用程序开发功能里选上对应就可安装。

3、配置php环境:把php压缩包解压到C:\php目录下面,然后找到php.ini-dist,更名为php.ini,

把以下扩展前面的分号去掉以启用

默认为0,如果使用IIS,需要开启

默认开启,如果使用IIS,可以将其关闭

其次指定extension_dir目录和date.timezone,即

4、然后把extension=php_mysql.dll前面的分号去掉,保存并把php.ini复制到系统Windows目录下面。

5、然后依次打开我的电脑(右键)->管理->服务和应用程序->Internet信息服务(IIS)管理器,打开ISAPI和CGI限制,然后添加php的ISAPI的执行文件php5isapi.dll.

6、配置Mysql:把下载的mysql文件直接安装即可,然后复制php目录下面的libmysql.dll到系统Windows下面的System32目录里。

如果是php5.3及以上版本,根本没有php5isapi.dll,也不需要把php.ini移动到windows安装目录,建议采用安装版,直接安装即可。

三、php程序怎么部署运行

1、PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP是一种 HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。

2、所以我们想要运行PHP程序的前提就是要安装web服务器,最佳选择是Apache(IIS也能够解析PHP)。除了web服务器之外,还要安装数据库服务和最重要的php!整个配置流程很麻烦,可以用一些集成环境如phpstudy、wamp、phpnow等。但是对于初学者,我推荐自己配置环境!有助于对B/S的理解,对深入的学习php有很大的好处!具体的教程网上有很多。

3、希望我的回答对您有所帮助……呵呵