AH01215:(8)执行格式错误:执行' /var/www/python/hello.py'失败了:/var/www/python/hello.py

时间:2016-12-11 02:08:16

标签: python apache python-2.7 cgi

我试图在Apache服务器上运行python作为CGI。 Python版本是2.7.12。 这是我的apache conf文件

<VirtualHost *:80>
   <Directory /var/www/python>
   Options +ExecCGI
   AddHandler cgi-script .cgi .py
   Order allow,deny
   Allow from all
   </Directory>
   DocumentRoot /var/www/python
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我的python脚本/var/www/python/hello.py看起来像这样

print('Content-Type: text/html; charset=utf-8\n')
print("Hello, World!")

当我访问url时,我收到内部服务器错误,我从error.log文件中获取了详细信息,并说,

  

[Sun Dec 11 09:53:40.694909 2016] [cgi:error] [pid 6812] [client 127.0.0.1:36282] AH01215:(8)执行格式错误:执行&#39; / var / www /python/hello.py'失败了:/var/www/python/hello.py   [Sun Dec 11 09:53:40.695312 2016] [cgi:error] [pid 6812] [client 127.0.0.1:36282]标题前的脚本输出结束:hello.py

PHP脚本在服务器上仍然可以正常工作。 如何解决py文件的这个问题?

2 个答案:

答案 0 :(得分:6)

你的剧本需要一个&#34; shebang&#34;线,类似

#!/usr/bin/env python

作为第一行。另外,请确保脚本可以chmod执行。

答案 1 :(得分:0)

您应该使用:

    import React from 'react';
    import ReactDOM from 'react-dom'; 
    import './App.css';
    import $ from 'jquery';

//some classes extends React.Component

class CommentRow extends React.Component {
  constructor(props) {
    super(props);
    this.DeleteComment=this.DeleteComment.bind(this);
  }

  DeleteComment(e) {
    this.props.dComment(e.target._id);
  }

  render() {
    const comment=this.props.comment
    if (comment.name==this.state.name)
        var yourcomment=<tr _id={comment._id} ondoubleclick={this.DeleteComment}> 
        else 
        var yourcomment=<tr _id={comment._id}>
    return (
    {yourcomment}
    <td>comment.time</td>
    <td>comment.name</td>
    <td><p> said: </p></td>
    <td id="comentcontent">comment.content</td>
      </tr>
    );
  }
}

class Profile extends React.Component {
        constructor(props){
            super(props);
            ....
            some functions
        }
    render(){
        return(
            //some more code
        );
    }
}



class FrontApp extends React.Component {
    //constructor
    render(){
        return(
            //some more code
            <Profile
                  //some function
            />
        );
    }
}

export default Frontapp