您的位置:首页 > 运维架构 > 网站架构

网站迁移到新服务器遇到的问题

2017-12-21 23:31 225 查看
前两天把之前做的一些网站迁移到新服务器,没想到在本地打开没问题,到了新环境就出现了各种问题,下面把遇到问题的解决办法列出来,以后再遇到方便查阅。

1.我用的是wampserver集成开发环境,在新服务器上安装的时候,提示缺少几个.dll文件(msvcr140.dll、msvcr110.dll),然后就去搜索引擎搜,需要去微软官网下载几个文件,安装上就好了,注意,选择32位还是64位的时候,是根据wampserver看的,不是你的操作系统位数。

2.PHP版本比当时开发时的版本高,旧版本的一些语法在新版本中做了改变,比如,在使用一个变量时,这个变量必须有值,旧版本中就不需要,解决办法是用isset()方法判断一下有没有定义,我遇到的是,预定义一个常量,保存系统变量$_SERVER['HTTP_REFERER'](上一页的URL),在第一次打开网站时,是没有上一页的,所以会报notice警告,这时用isset()判断一下$_SERVER['HTTP_REFERER']存不存在就可以了。

3.还有一个问题也是因为php版本导致的警告,PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递。

PHP

1

2

3

4

5

6

7

8

//增删改模型

protected
function
aud($_sql)
{

$_db
=
DB::getDB();

$_db->query($_sql);

$_affected_rows
=
$_db->affected_rows;

DB::unDB($_result
=
null,
$_db);

return
$_affected_rows;

}

这是我之前写的,第六行报错Strict Standards: Only variables should be passed by reference in,现在只要把$result拿出来单独赋值后再放在方法参数里就可以了。

PHP

1

2

3

4

5

6

7

8

9

//增删改模型

protected
function
aud($_sql)
{

$_db
=
DB::getDB();

$_db->query($_sql);

$_affected_rows
=
$_db->affected_rows;

$_result
=
null;

DB::unDB($_result,
$_db);

return
$_affected_rows;

}

4.安装完wampserver最好配置一下环境变量。右击我的电脑->属性->高级系统设置->环境变量,找到PATH,点编辑,然后复制wampserver目录下的bin\mysql\mysql5.7.14\bin,添加到PATH里面。

5.安装完wampserver需要手动修改mysql的密码,修改方法见【转】MySQL——修改root密码的4种方法(以windows为例)

6.我还遇到一个不知道由什么原因导致的错误,

PHP

1

2

3

4

5

6

7

8

9

10

//show

private
function
show()
{

parent::page($this->_model->getAllContentTotal());

$_object
=
$this->_model->getListContent();

$_limitobj
=
$this->_model->getListLimitContent();

$_floor
=
$this->_model->getListContentTotal();

$_total
=
$this->_model->getAllContentTotal();

...

...

}

这是修改后的,如果把$_limitobj = $this->_model->getListLimitContent();放到这个方法的第一行执行,就会导致页面加载不出来,报http error 500,只要把上面那行代码不放到第一行执行就可以了,奇怪的是在本地测试一点问题没有。

7.还有一个是最近安装wampserver遇到的问题,刚安装完后访问出现You don't have permission to access / on this server,但在服务器本地访问却没问题,就考虑到可能是Apache的访问规则没配置好,因为开了虚拟主机,所以要配置httpd-vhosts.conf文件。下面是没做更改前的配置,

Default

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# Virtual
Hosts

#

<VirtualHost
*:2020>

ServerName
localhost

ServerAlias
localhost

DocumentRoot
G:/php/wamp/www

<Directory "G:/php/wamp/www/">

Options
+Indexes
+Includes
+FollowSymLinks
+MultiViews

AllowOverride
All

Require
local

</Directory>

</VirtualHost>

#

注意到Require local这一行,只允许本地访问,需要把这行改成Require all granted,就可以了。

持续更新...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html php mysql 服务器