解决服务器上部署PHP程序异常

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 服务器环境部署遇到的问题解决方案MySQL拓展代码缺胶水总结今天记录一下,在部署PHP程序的时候遇到的一个小问题。服务器环境操作系统: 阿里云学生机 Ubuntu14.04服务器: Apache2PHP版本: php5数据库: MySQL5.2.3部署遇到的问题在本地调试完成之后,大致的测试了一下。

今天记录一下,在部署PHP程序的时候遇到的一个小问题。

服务器环境

  • 操作系统: 阿里云学生机 Ubuntu14.04

  • 服务器: Apache2

  • PHP版本: php5

  • 数据库: MySQL5.2.3

部署遇到的问题

在本地调试完成之后,大致的测试了一下。发现没什么问题。但是上传到服务器上就会出错。

错误码: 500

服务器内部错误,最后debug后发现是php链接mysql的时候出的错。

解决方案

MySQL拓展?

一开始还觉得是php中未开启相关于MySQL的拓展。
查看是否开启拓展的方法也很简单,一般可采用如下两种方式。

  • 到安装了php5的目录下查看php.ini文件。找到mysql模块的位置,看看前面的;是否去掉。

  • 在Apache的运行目录(默认的话是/var/www/html/)下新建一个php文件。里面写上<?php echo phpinfo(); ?> 。再就是通过浏览器来访问这个文件。然后就可以查看mysql拓展是否安装了。

代码?

经历了上面的阶段,如果没出错,那就得怀疑一下自己的代码了。

毕竟很有可能在传输过程中出错嘛,那么怎么查看文件是否有缺损呢?一般来说还是有两种比较常用的方法。

  • 死磕: 也就是对照本地文件,一字不差的检查服务器上的文件是否出错。但是这个方法只适用于小文件,不然效率不高,还会很累。

  • 第二个方法就是查看MD5和的方法,在Linux上很容易实现,如果您的电脑是windows,也可以自己着手写一个脚本(这对于咱们程序员来说,应该是小菜一碟的啦)。在Ubuntu上我就直接调用一下命令算了:

    md5sum filename

然而,不管我怎么看,服务器上的代码都是没有错,那为什么会链接数据库失败呢。这个时候感觉可能是权限的问题了,但是最后也否定了这个思路。

“缺胶水”?

最后,还是在阿里的云栖社区找到了答案。

在Windows上配置时,要在PHP里面加载 MySQL的dll。那在Linux系统中也需要的吧!

这句话瞬间点醒了我。虽然我对于Windows下是否添加了dll支持也不得而知,因为当时只记得安装完就可以访问,所以也没多想。

看来有些时候这看似正常,其实不正常;看似不正常,反而正常。这句话还是很有道理的。

然后估计就是缺少了这个”胶水“才导致的代码出错吧。然后就装一下吧。


安装认证及依赖库

sudo apt-get install libapache2-mod-auth-mysql

安装php-mysql ”胶水“

sudo apt-get install php5-mysql

重启apache服务器,让”胶水“生效

sudo /etc/init.d/apache2 restart

最后,没想到真的成功了。
体重走势图

总结

平时总会遇到一些奇奇怪怪的问题,林林总总。适时的收集起来,整理分类。写好解决方案,对自己以后的发展必然会有莫大的帮助。

这次的”部署难题“着实给我上了一课。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
弹性计算 监控 负载均衡
|
21天前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
3天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
9天前
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
16 4
|
12天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
122 2
|
12天前
|
NoSQL Linux PHP
|
13天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
65 1
|
19天前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
30 1
|
22天前
|
安全 Linux 数据安全/隐私保护
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第17天】在RHEL环境下部署Subversion服务器包括安装Subversion、创建和配置版本库、启动服务器、客户端连接以及备份与恢复等步骤。通过这些步骤,可确保服务器的安全性和稳定性,满足版本控制需求。
|
22天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
30 1