Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Python Apache内部服务器错误,错误日志中只有[:Error][pid[1.0]_Python_Apache_Flask_Mod Wsgi - Fatal编程技术网

Python Apache内部服务器错误,错误日志中只有[:Error][pid[1.0]

Python Apache内部服务器错误,错误日志中只有[:Error][pid[1.0],python,apache,flask,mod-wsgi,Python,Apache,Flask,Mod Wsgi,我让Apache通过mod_wsgi提供一个Flask应用程序 该应用程序是一个web表单,在表单提交时将字段保存到本地文件。除了偶尔点击表单提交时服务器抛出内部服务器错误外,所有操作都运行顺利。此外,到目前为止,我还没有看到任何实际写入文件的内容——即使表单提交成功而没有出现内部服务器错误。我怀疑这与文件写入权限有关 错误日志中唯一的条目没有透露任何信息,至少对我未经培训的眼睛来说是这样的: [2015年5月26日星期二22:35:46.401070][:错误][pid 28335]1.0 1

我让Apache通过mod_wsgi提供一个Flask应用程序

该应用程序是一个web表单,在表单提交时将字段保存到本地文件。除了偶尔点击表单提交时服务器抛出内部服务器错误外,所有操作都运行顺利。此外,到目前为止,我还没有看到任何实际写入文件的内容——即使表单提交成功而没有出现内部服务器错误。我怀疑这与文件写入权限有关

错误日志中唯一的条目没有透露任何信息,至少对我未经培训的眼睛来说是这样的:

[2015年5月26日星期二22:35:46.401070][:错误][pid 28335]1.0 1
[2015年5月26日星期二22:37:33.313577][:错误][pid 28339]1.0 1
[2015年5月26日星期二22:38:21.074149][:错误][pid 28336]1.0 1
[2015年5月26日星期二22:46:04.284230][:错误][pid 28338]1.0 2
[2015年5月26日星期二22:46:04.291985][:错误][pid 28340]1.0 2

有没有关于我应该如何进一步缩小调查范围的建议

我曾尝试暂时禁用本地文件保存,但它似乎确实消除了问题(在注释掉文件写入代码时不会出现内部服务器错误,而在注释掉文件写入代码时,至少每10次迭代中就有1次会出现内部服务器错误)

写入文件的python代码只是对以下内容的调用:

def logtofile(text):
    with open("usagelogs.txt", "a") as myfile:
        myfile.write(text)
    return
如上所述,我一直无法看到这种写入的任何迹象——尽管我不得不承认,我也不确定该文件将写入何处(它将与.py文件位于同一路径中,还是在其他地方?)

当我在本地主机(非生产web服务器)上运行代码时,代码运行良好

在我运行的生产环境中: 服务器版本:Apache/2.4.6(CentOS)


根据迄今收到的评论更新:

更改文件路径(如下所示)确实消除了内部服务器错误,但我仍然找不到logs.txt实际存储的位置。有什么提示吗

dir = os.path.dirname(__file__)
file = os.path.join(dir,'logs.txt')

def logtofile(text):
    with open(file, "a") as myfile:
        myfile.write(text)
    return

更新2


现解决如下:

  • 已修改定义的用户和组
  • 已确定文件已保存为/var/www/html//logs.txt
  • 按1中定义的用户和组更改文件

  • 现解决如下:

  • 已修改定义的用户和组
  • 已确定文件正在另存为
    /var/www/html//logs.txt
  • 按1中定义的用户和组更改文件

  • 您可以尝试使用绝对路径,因为绝对路径的原因请参见阅读有关权限的内容。感谢您将我设置为正确的路径(双关语)!:)