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文件

我:可是我之前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,去掉#,再重启服务器。

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

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

<IfModule dir_module>

  DirectoryIndex index.html

</IfModule>

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

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

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

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

我:加在后边了

似乎还是不行。

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

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

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

我:mysql启动了。

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

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

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

我:

小胖:看到/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后边不需要加内容)

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

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

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

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

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

<Directory "/project/rorohtml5/php">
    #
    # Possible values for 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 directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options FollowSymLinks Multiviews
    MultiviewsMatch Any

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

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

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

时间: 2024-11-05 15:56:31

php+mysql+apache项目运行所遇到的一系列配置问题的相关文章

LINUX下PHP+MYSQL+APACHE配置过程

需要软件如下: apache: http://www.apache.org mysql: http://www.mysql.com php: http://www.php.net/downloads.php gd: http://www.boutell.com/gd/#buildgd ZendOptimizer http://www.zend.org/products/zend_optimizer Gettext http://ftp.gnu.org/pub/gnu/gettext/ netpb

使用xampp将angular项目运行在web服务器

需求 在开发angular项目时,因为需要做自适配以适应不同的屏幕,而我的电脑只有1366的.所以我现在需要在本地将angular项目运行在xampp上,然后用手机开热点,给本机和另一台大屏电脑或手机连同一wifi,再使用大屏电脑或手机打开本地电脑运行的网站查看适配情况. 安装xampp 下载地址:https://sourceforge.net/projects/xampp/ 下载好之后,一路勾选下去就ok了,出现问题请自行百度解决. 开启xampp 如果你是安装好之后进行开启,那么直接在底部栏

U在Apache中运行Keystone

最近一次从Github上更新Keystone的代码后,发现原来bin/keystone-all和bin/keystone-manage都不见了,取而代之的是keystone/cmd/目录下的all.py和manage.py两个python脚本.虽然在测试的virtualenv环境下仍然可以执行原来的命令,但是想试着在Apache中运行Keystone,毕竟这已经是社区力推的启动方式了. 我的系统是Ubuntu,安装了sysv-rc-conf来管理开机时启动的服务,包括Apache2, MySQL

windows server 2003 原版 安装 php+mysql+apache 教程

所需软件: httpd-2.2.22-win32-x86-no_ssl.msi php-5.4.5-Win32-VC9-x86.zip mysql-5.5.27-win32.msi 1.安装apache,修改httpd.conf修改httpd.conf文件,文件位于\Apache2.2\conf下找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so增加一行LoadModule php5_module C:/php/php5apac

Mysql安装完毕运行时没有 mysql 和 performance_schema 数据库

Mysql问题  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 问题一:之前卸载未卸载干净 问题二:没有管理员权限进入 问题三:登录时,密码是空,使用的是匿名方式登录 Windows系统下 方法一: 在安装路径下的my.ini的[mysqld]字段加入:  skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据库然后进入mysql my

PHP & MySQL & Apache统一编码

PHP & MySQL & Apache统一编码 在用PHP与MySQL中的数据库交互的时候,老是碰到乱码问题.要么是从数据库读出的数据乱码,要么是无法存入数据库,神烦. 最初的默认编码格式是latin1的,当时就是读出的时候变乱码了( ╯□╰ ),之后把它修改为gbk的,存入的时候还是有问题.百度之,遂决定统一编码~ 这里以统一utf8编码为例: 环境:MySQL5.5,Apache2.4,PHP5.6,操作系统Windows MySQL统一编码 这两句是查看MySQL当前编码格式的语句

php在apache中运行模式

php在apache中运行模式 (2011-12-18 02:38:27) 标签: 杂谈 分类: 服务器及软件 一.php在php在三种工作方式:Apache 模块DLL) 以下分别比较: 1. php在CGI模式.PHP 在 中的 # 对 PHP 4 用这行 Action application/x-httpd-php "/php/php.exe" # 对 PHP 5 用这行 Action application/x-httpd-php "/php/php-Apache 2

Windows下MySQL多实例运行

关键字:Windows下MySQL多实例运行 阅读前注意事项: 1.有的版本的data目录不直接放在mysql安装目录下,有可能在:C:\ProgramData\MySQL\MySQL Server 5.1\data(不管路径在哪里 指定正确的路径即可) 2.操作步骤:复制MySQL安装目录-->修改my.ini中的端口2处.安装目录和数据目录---->命令安装MySQL windows服务--->修改注册表---->启动新实例的window服务---->正常使用 正文篇: 

windwos下 php mysql apache 配置

第一步:下载安装的文件     1. MySQL:下载地址mysql-5.1.49-win32.msi:     2. Apache: 下载地址httpd-2.2.16-win32-x86-openssl-0.9.8o.msi:     3. PHP5.3.3  下载地址php-5.3.3-Win32-VC6-x86注意:一定要下载php-5.3.3-Win32-VC6-x86版本     的,不要下载php-5.3.3-nts-Win32-VC6-x86版本,更不要下载VC9版本的,因为他是I