Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 500内部服务器错误,在post接收挂钩后出现裸git repo_Php_Linux_Git_Centos_Cpanel - Fatal编程技术网

Php 500内部服务器错误,在post接收挂钩后出现裸git repo

Php 500内部服务器错误,在post接收挂钩后出现裸git repo,php,linux,git,centos,cpanel,Php,Linux,Git,Centos,Cpanel,我认为这是我在这个使用cpanel的专用服务器上设置Git的最后一个问题 我已经在我的电脑上创建了一个裸repo,并将其放在服务器上:/home/cpaneluser/git repos/ 编辑的/home/cpaneluser/git repos/myproject.git/hooks/post-receive及其内容如下: #!/bin/sh GIT_WORK_TREE=/home/cpaneluser/public_html GIT_DIR=/home/cpaneluser/git-rep

我认为这是我在这个使用cpanel的专用服务器上设置Git的最后一个问题

我已经在我的电脑上创建了一个裸repo,并将其放在服务器上:/home/cpaneluser/git repos/

编辑的/home/cpaneluser/git repos/myproject.git/hooks/post-receive及其内容如下:

#!/bin/sh
GIT_WORK_TREE=/home/cpaneluser/public_html GIT_DIR=/home/cpaneluser/git-repos/myproject.git git checkout -f
我给了它0764权限,所以所有者可以执行它。它似乎执行得很好,因为它确实按照预期将我的repo文件放入了我的public_html目录中

然后,我在浏览器中导航到该域,并获得一个内部服务器错误,其中包含一条通用的、没有帮助的错误消息。服务器遇到内部错误或配置错误,无法完成您的请求

真正奇怪的是,如果我手动编辑webroot“public_html”中的“index.php”文件,它似乎神奇地修复了所有问题。但是,执行此编辑会使get-repo与我的本地端不同步

有人知道为什么我在运行“post-receive”钩子(执行checkout-f)后会出现internet服务器错误吗。我怎样才能解决这个问题

谢谢。

添加umask 0022解决了我的权限问题

#!/bin/sh
umask 0022
GIT_WORK_TREE=/home/cpaneluser/public_html GIT_DIR=/home/cpaneluser/git-repos/myproject.git git checkout -f

@PaulCrovella在suphp_日志[Fri Jan 16 17:27:08 2015][warn]文件/home/cpaneluser/public_html/index.php中找到了一个可由组写入的文件。当文件应该是0644时,正在使用0664创建文件。所以我想现在,为什么创建的文件使用了错误的权限,以及如何纠正它?post-receive-hook需要设置umask。在脚本的开头,我添加了:umask 0022,它创建了具有0644权限的文件,内部服务器错误现在消失了。现在效果很好@保罗克罗维拉如果你想把它作为一个答案提交,我会为你接受它@保罗克罗维拉:然而,由于一些很酷的人,我的代表受伤了,我有一两个问题被否决了。我无法发布答案,我知道我们不接受来自此帐户的答案。真糟糕,我没做错什么。我问了一个问题,提供了尽可能多的信息,结果被否决了,没有人说为什么。只是一次肇事逃逸。我想如果我有足够的代表,我很快就能回答问题。我只是觉得我应该给某人选择的答案,并让其代表,以帮助恢复我的帐户的代表。