php mysql apache版本问题_php+mysql+apache项目运行所遇到的一系列配置问题

今天运行一个php项目时,突然发现访问不了了。起因应该是mac系统升级,导致apache配置文件完全恢复到了默认状态,一切归零。作为一个经验尚欠的前端,对这些后台配置完全是一窍不通,赶紧微信联系了小胖。最终经过小胖在远方耐心的帮助和指导下,完美解决了运行项目中所遇到的连环坑,折腾了一下午直到晚上八点多。或许对于后端来说,这完全是小菜一碟,然后对于我这个外行来说简直是个灾难。想想还是事必躬亲的好,之前别人给我配服务器环境的时候从来没记住来龙去脉,经过今天这一番疯狂操作和折腾,想必以后再遇到这种问题就不用去大费周章劳师动众了。

赶紧把今天遇到的连环坑记录下来,以防后患。

就以对话的形式展开吧。

我:小胖,为啥我的所有php项目通过localhost访问页面只显示"it works"。

小胖:没改配置文件的话,localhost只访问默认的目录。it works是服务开启的默认页。你把配置文件发给我看看。文件名为httpd.conf,在/etc/apache2/下边。

我:httpd.conf文件

小胖:从httpd.conf文件看来,项目入口文件目录应该为/Library/WebServer/Documents。DocumentRoot就是设置php项目访问路径,也就是说你应该把项目放在/Library/WebServer/Documents,而且Documents下要有个index.php或index.html文件

a31dfcc67ab8c60b1f4caa648ba2425c.png

我:可是我之前php默认项目路径一直为/project/rorohtml5/php,怎么发生改了?(突然意识到可能是系统升级,连服务器配置文件也初始化了)是不是我系统升级初始化了配置文件?(一脸懵逼。。)

小胖:/Library/WebServer/Documents肯定是升级后改了吧。

我:那我把httpd.conf中的这两个地方改成/project/rorohtml5/php是不是就ok了?其他地方不用改了?

小胖:恩恩 记得改完了重启下服务器。

我:好的。修改完后,sudo /usr/sbin/apachectl restart这样重启?

小胖:嗯嗯

我:改好了,也重启了,但是好像还是有问题。

页面显示 Forbidden You donnot have permission to access / on this server

小胖:没有权限,文件夹权限。会不会是服务器配置重写没开。去httpd.conf里找到#LoadModule rewrite_module libexec/apache2/mod_rewrite.so,去掉#,再重启服务器。

我:去掉了,好像还是不行。

小胖:我再看看配置文件。那个

DirectoryIndex index.html

index.html后边加个空格加个index.php

我:直接把源代码输出出来了,没有解析。

a30cc69d480995f8a5a7e1a921d91751.png

小胖:AddType application/x-httpd-php .php,把这个加到配置文件中吧。

放在AddType application/x-compress .Z  AddType application/x-gzip .gz .tg下边

我:加在后边了

9a5ab6974511f7bdb06e179f0c7835d9.png

似乎还是不行。

小胖:#LoadModule php5_module libexec/apache2/libphp5.so这个#也要去掉。有很多的模块都需要开启。

我:去掉之后,似乎有点效果,但是还有报错。

f605c2e48461f6fb4a3cdee86568ae05.png

小胖:你数据库启动了吗?

我:mysql启动了。

8e15cd698e2907c3276ad08c0e288d12.png

小胖: 不会php配置也要改吧,你看看etc下的php.ini文件。

我:两个php.ini文件哪个是?

86bbed5d13d4720ed92f6a1930f48d0f.png

小胖:你用编辑器打开项目的index.php文件,加echo phpinfo();die;我看看是用的哪个php.ini文件。

我:

e7eee27936bc9b2671a4b390dcc57eb1.png

小胖:看到/etc没得,没有加载php配置。php.ini.default这个文件改成php.ini。通过终端进入mysql控制台,输入STATUS;获取UNIX socket的值,把该值赋给php.ini里边的pdo_mysql.default_socket、mysql.default_socket、mysqli.default_socket三个变量即可。

我:mysql -uroot -p不起作用了,切换不到控制台模式?咋回事,之前可以的。(-p后边不需要加内容)

47955ae9366d0803ca5bd3993bce60dd.png

小胖:mysql没有添加到环境变量中去。终端输入export PATH=${PATH}:/usr/local/mysql/bin指令添加即可。

我:OK。获取到了UNIX socket,三个变量也赋值了,但是仍然有报错。

f93b1cecd4036505222c5ab3d1e6ec3a.png

小胖:缓存问题。去runtime文件夹里的内容全部清空,然后给runtime设置权限。在APP目录下chmod -R 777 ./Runtime

我:终于可以访问了。but,又遇到小问题了,只能访问首页 其他页面报错。真是一波刚平,一波又起啊。

1e5b1cb7ddf96d44648ce311ef54d766.png

小胖: 这个是重写的问题。把这个里边的 AllowOverride None,none改成all 在重启服务器

#

# Possible valuesfor the Options directive are "None", "All",

# or any combination of:

# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

# Note that"MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.

#

# The Options directiveisboth complicated and important. Please see

# http://httpd.apache.org/docs/2.4/mod/core.html#options

# formore information.

#

Options FollowSymLinks Multiviews

MultiviewsMatch Any

#

# AllowOverride controls what directives may be placedin.htaccess files.

# It can be"All", "None", or any combination of the keywords:

# AllowOverride FileInfo AuthConfig Limit

#

AllowOverride None

#

# Controls who canget stuff from thisserver.

#

Require all granted

我:哇哦,我的天,终于好了。

付出总会有回报,上天是公平的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值