我试图在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文件的这个问题?
答案 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