服务器配置php
A. 怎么搭建php服务器
在windows下安装apache php mysql。
从各官方网站下了APACHE2.050、PHP5、MYSQL4.0.20、PHPMYADMIN2.57。
apache_2.0.50-win32-x86-no_ssl.msi。
php-5.0.0-Win32.zip。
较好的可移植性、可靠性以及较高的运行效率使 PHP 语言在当下行业网站建设中独占鳌头。利用 PHP 语言进行行业网站设计,能够实现数据库的实时性更新,网站的日常维护和管理简单易行,进而提高用户的使用效率。
(1)服务器配置php扩展阅读:
PHP加密:
加密总是与安全密不可分,而每个PHPer都必须将应用安全作为必要的设计思路融入代码中,以下是一些最佳实践的建议。
不要再使用MD5,不要使用sha1,基本上已经没有破解难度了。请使用 password_hash来哈希密码,由于 password_hash函数已帮你处理好了加盐。
而且作为盐的随机字串已通过加密算法成为了哈希的一部分password_verify()函数会自动将盐从哈希中提取出来,所以你无需考虑盐的存储问题。通信接口的签名,请使用非对称算法对签名秘钥进行加密, 并对秘钥设置有效期,定期更换。
B. 如何配置php模块到apache服务器
在Apache服务器中,配置PHP预处理器作为模块是一项基本操作。Apache的设计基于模块化,这使得我们可以轻松地将PHP集成到服务器中。在Apache的配置文件httpd.conf中,可以找到已加载的模块。加载模块的语法是:LoadMole 模块名称 模块的实现文件。要加载PHP预处理器模块,你需要确保模块名称为php5_mole。
在配置过程中,还需要注意几个细节。首先,确保php5_mole的路径正确无误。其次,检查httpd.conf文件中的其他相关设置,例如,确保AllowOverride None被设置为AllowOverride All,以便Apache可以解析PHP文件。此外,确保Apache的用户拥有正确的权限来访问和执行PHP文件。
配置完成后,重启Apache服务以使更改生效。可以通过运行以下命令来重启服务:
对于基于Debian的系统,使用命令:sudo service apache2 restart。
对于基于Red Hat的系统,使用命令:sudo systemctl restart httpd。
配置完成后,可以在Apache的根目录下创建一个测试文件,例如test.php,内容为:phpinfo();,然后访问该文件,检查Apache是否正确加载了PHP模块。
如果一切设置都正确,Apache将成功加载PHP模块,可以处理PHP脚本。如果遇到问题,可以查看Apache的错误日志,通常位于/var/log/apache2/error.log或/var/log/httpd/error_log,以获取有关问题的更多信息。
如果在配置过程中遇到任何问题,可以访问后盾人网站获取帮助。该网站提供了详细的文档和教程,有助于解决各种配置问题。
C. 怎么在linux服务器上配置php环境
建议多使用网络搜索,网上这样的帖子特别多。
Linux的分支比较大,不过常使用的也就Centos和Ubuntu。下面我贴出来在Centos上面搭建php环境的方法,命令有所不同,不过差异不大。
安装apache:
yum install httpd httpd-devel
启动apache:
/etc/init.d/httpd start
此时输入服务器的IP地址,应该看到apache的服务页面,端口不用输,apache默认就是使用80端口
安装mysql:
yum install mysql mysql-server
启动mysql:
/etc/init.d/mysqld start
安装php
yum install php php-devel
重启apache使php生效
/etc/init.d/httpd restart
此时可以在目录:/var/www/html/下建立一个PHP文件
代码:
<?php phpinfo(); ?>
然后访问这个文件,就能看到PHP的一些信息,php.ini配置文件的路径可以在这个页面上看到
安装php的扩展
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
安装完扩展之后需要再次重启apache
/etc/init.d/httpd restart
测试mysql是否链接成功的php代码
<?php
$con = mysql_connect("10.0.@.@@","@@","@@");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydb", $con);
$result = mysql_query("SELECT * FROM sys_user");
while($row = mysql_fetch_array($result))
{
echo $row['UserName'] . " " . $row['PassWord'] . " " . $row['id'];
echo "<br />";
}
mysql_close($con);
?>
可以把上面的代码传入目录/var/www/html/
就可以看到执行情况
D. 服务器如何部署php
是php5.3以下版本的安装方法。
1、首先是下载PHP安装文件和MYSQL安装文件,请注意MYSQL有很多个版本,有社区版、标准版、企业版、集群版,其中只有社区版是免费的。
2、在服务器上配置好IIS,推荐IIS7以上版本,控制面板-打开或关闭windows功能-万维网服务-应用程序开发功能里选上对应就可安装。
3、配置php环境:把php压缩包解压到C:php目录下面,然后找到php.ini-dist,更名为php.ini,
修改里面的扩展目录
extension_dir
=
“C:phpext”。
把以下扩展前面的分号去掉以启用
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysql.dll
fastcgi.impersonate=1
默认为0,如果使用IIS,需要开启
cgi.fix_pathinfo=1
cgi.force_redirect=0
默认开启,如果使用IIS,可以将其关闭
其次指定extension_dir目录和date.timezone,即
extension_dir =
"C:/php53iis/ext"
date.timezone=
Asia/Shanghai
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目录里。
7、重启IIS,即完工。
如果是php5.3及以上版本,根本没有php5isapi.dll,也不需要把php.ini移动到windows安装目录,建议采用安装版,直接安装即可。
E. 服务器php怎么用iis7配置
方法一、安装使用phpmanager
1.下载安装phpmanager,
2.创建并配置php.ini。将php.ini-development文件改名为php.ini,修改date.timezone=”Asia/Shanghai”。去分号开启所需的扩展,这里不赘述。
3.打开IIS7,在主面板中双击phpmanager,然后点击其中的”Register new PHP Version”,选择你的php-cgi.exe,确定。剩下其它的配置它将给你自动设置好。
4.完成!
方法二、手动配置cgi模式(php5.3)
1.创建并配置php.ini,同上2。
2.打开IIS7,在主面板中双击处理程序映射,然后在右侧菜单中点击“添加模块映射…”,设置如下:
请求路径:*.php;
模块:FastCgiMole;
可执行文件:你php文件夹中的php-cgi.exe;
名称:php;
3.完成!
方法三、手动配置isapi模式(php5.2)
1.创建php.ini。php.ini-dist改名为php.ini,打开找到extension_dir=”/”,把路径改为你的php所在路径。
2.添加一个应用程序池,设置如下:
名称:php;
.net framework版本:无托管代码;
托管管道模式:集成
勾选立即启动应用程序池。
确定。
3.双击ispa和cgi限制。添加一个限制,设置如下:
ISAPI或CGI路径: 你的php5isapi.dll。
描述:php。
勾选允许执行扩展路径。
确定。
4.添加一个isapi筛选器,设置如下:
筛选器名称:php;
可执行文件:你的php5isapi.dll文件;
确定。
5.添加脚本映射。 双击处理程序映射, 点击右侧菜单的“添加脚本映射…”,设置如下:
请求路径:*.php;
可执行文件:你的php5isapi.dll文件;
名称:php5;
确定。
6.完成!
F. php项目怎么部署到服务器(php项目怎么部署到服务器中)
使用php开发的项目必须部署在才能正常运行使用PHP开发的项目必须部署在Web服务器上才能正常运行。PHP是一种服务器端脚本语言,用于开发动态网站和Web应用程序。PHP脚本必须在Web服务器上运行,才能被解释和执行。因此,使用PHP开发的项目必须部署在Web服务器上才能正常运行。在部署PHP项目时,需要将PHP脚本文件和相关的资源文件上传到Web服务器上,并配置好Web服务器的环境和参数,以确保PHP脚本能够被正确解释和执行。常用的Web服务器包括Apache、Nginx等,可以根据具体需求选择合适的Web服务器进行部署。需要注意的是,部署PHP项目时需要考虑安全性和性能等因素,以确保项目的稳定性和可靠性。
php项目如何部署??首先是要对数据结构进行规划,然后根据项目大小决定是否用php框架或模板技术,之后就是后台功能开发,最后再把数据在前台展示出来;这只是基本步骤,真正实施起来,涉及的东西是很多的,要注意的细节也很多
Thinkphp5项目在nginx服务器部署1,切换到nginx的配置目录,找到nginx.conf文件
????cd?/usr/local/nginx/conf
??vim?nginx.conf
2,如果是单项目部署的话,只需要在nginx.conf文件里面加上以下
server{
????????listen80;
????????#域名,本地测试可以使用127.0.0.1或localhost
????????server_name;
????????#php项目根目录
????????root/home/data-www/blog;
????????location/{
????????????????#定义首页索引文件的名称
????????????????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)沟通的协议
????????.location~.*.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
????????{
????????????????listen80;
????????????????server_namequanma.meyat.com;
????????indexindex.htmlindex.htmindex.phpdefault.htmldefault.htmdefault.php;
????????????????root/data/wwwroot/default/quanma/public/;
????????????????#error_page404/404.html;
????????????????location/{
????????????????????????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){
????????????????????denyall;
????????????}
????????????#access_log/date/nginx/bmp.com.conf/access.logmain;
}
服务器上怎么安装php程序你好,如果你的服务器是Windows系统,那么你需要远程到你的服务器,进行启动IIS(asp环境),如果你需要php环境,你可以从xp.cn(小皮)或者bt.cn(宝塔)安装面板
如果你的服务器是Linux,建议使用宝塔
打开终端,不同Linux系统的输入指令不同:
Centos安装脚本
终端输入:yuminstall-ywgetwget-Oinstall.shshinstall.sh
Ubuntu/Deepin安装脚本
终端输入:wget-Oinstall.shsudobashinstall.sh
Debian安装脚本
终端输入:wget-Oinstall.shbashinstall.sh
Fedora安装脚本
终端输入wget-Oinstall.shbashinstall.sh
输入后进行安装就可以了
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????站点的相对路径;
indexindex.phpindex.htmlindex.htm;
#charsetkoi8-r;
#access_log?/var/log/nginx/host.access.log?main;
#.
include/etc/nginx/default.d/*.conf;
location/{
#try_files$uri$uri//index.php;
root?/opt/www/pcweb/ytyy_pc;
index?index.phpindex.htmlindex.htm;???????if(!-e$request_filename){?rewrite?^(.*)$/index.php?s=$1?last;?break;??}}??????url重写(可以没有)
#/40x.html
#
error_page?404???????/404.html;?40错误页面配置
location=/40x.html{
}
#/50x.html
#
error_page?500502503504?/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配置就结束了可以使用了。吧站点文件放到对应的目录下面。我直接gitclone过去的。
二.thinkphp项目文件转移
本来以为上传完就结束了。上传上去碰到的第一个问题就是访问页面报错,页面被电信的114页面劫持了。。。麻蛋看不到报错
万能网络大法
解决方法1.internet高级选项-隐私-站点??新加阻止站点
解决方法2:控制面板-网络和internet-本地连接-属性-ipv4?使用如下ip
终于搞定可以看到报错页面了。。。。。。麻蛋。再次开启万能网络大法
?
?
?得到最终结论是文件目录权限引起的。thinkphp的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单
进入到项目文件目录
直接跟文件最高权限
chmod-R777[目录]?//linux修改文件权限
?
前端vue与后端Thinkphp在服务器的部署
vue在服务端部署时,我们都知道通过npmrunbuild指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览。要使前端正常调用后端数据,有两种方法:1、前端跨域调用后端数据,2、前端打包文件部署在后端的服务器文件夹下(同域)。
web服务器:apache
一、跨域
在服务器配置站点:
在路径/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文件,当路径不存在时,路径指向能解决此问题。
??RewriteEngine?On??
??RewriteBase?/??
??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?$param;??
????//?设置跨域访问??
????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-param?=?$param;??
????}??
}??
前端调用登录接口:this.axios.post('',{user:'',password:''})。
(可在webpack.base.conf.js文件下可定义接口:)
二、同域
后端配置同上,公共配置器中的header配置注释。将前端的dist文件下的所有文件(包含.htaccess),放在php文件夹下。将后端index控制器的index方法的路径重定向php下的index.html文件:
namespace?appindexcontroller;??
use?thinkController;??
class?Index?extends?Controller??
{??
????public?function?index()?{??
$this-redirect('/index.html');??
????}??
}??
前端调用登录接口:this.axios.post('/index.php/base/login',{user:'',password:''})
转自: