###前提・実現したいこと
現在chrome拡張機能を作成しており、jsとpythonをajaxなどで連携させたいと考えています。そこで、pythonをmampでcgiとして実行したいのですが、500Internal Server Error
と表示されます。
環境は以下の通りです。
- macOS Sierra
- Python 3.6.1 :: Anaconda 4.4.0 (x86_64)
- MAMP バージョン4.2
###発生している問題・エラーメッセージ
例えば、http://localhost/background/cgi-bin/py.cgiにアクセスすると、(ディレクトリは正しいとします)
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log.
と表示されます。
また、mampのエラーログは次のように言っています。
Premature end of script headers
###該当のソースコード
実行したいpythonファイルは以下の通りです。
シバン行はanaconda3の中のものを指定しています。
python
1#!/usr/bin/env /Users/suegamisora/.pyenv/versions/anaconda3-4.4.0/lib/python3.6 2 3print("Content-Type: text/plain") 4print() 5 6import sys 7print(sys.version)
また、mampのapache2のhttpd.confは以下の通りです。(文字数制限のため、コメントアウトは除きます。)
<IfModule !mpm_netware.c> PidFile logs/httpd.pid </IfModule> Listen 80 LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbd_module modules/mod_authn_dbd.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule file_cache_module modules/mod_file_cache.so LoadModule cache_module modules/mod_cache.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule mem_cache_module modules/mod_mem_cache.so LoadModule dbd_module modules/mod_dbd.so LoadModule bucketeer_module modules/mod_bucketeer.so LoadModule dumpio_module modules/mod_dumpio.so LoadModule echo_module modules/mod_echo.so LoadModule case_filter_module modules/mod_case_filter.so LoadModule case_filter_in_module modules/mod_case_filter_in.so LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule include_module modules/mod_include.so LoadModule filter_module modules/mod_filter.so LoadModule substitute_module modules/mod_substitute.so LoadModule charset_lite_module modules/mod_charset_lite.so LoadModule deflate_module modules/mod_deflate.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so LoadModule ident_module modules/mod_ident.so LoadModule usertrack_module modules/mod_usertrack.so #LoadModule unique_id_module modules/mod_unique_id.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule version_module modules/mod_version.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule ssl_module modules/mod_ssl.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule asis_module modules/mod_asis.so LoadModule info_module modules/mod_info.so LoadModule cgi_module modules/mod_cgi.so LoadModule fastcgi_module modules/mod_fastcgi.so LoadModule cgid_module modules/mod_cgid.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule perl_module modules/mod_perl.so LoadModule wsgi_module modules/mod_wsgi.so LoadModule xsendfile_module modules/mod_xsendfile.so LoadModule php7_module /Applications/MAMP/bin/php/php7.1.6/modules/libphp7.so AddType application/x-httpd-php .php .phtml <IfModule !mpm_netware_module> <IfModule !mpm_winnt_module> User (ここには僕のユーザー名が入力されてます。) Group #-1 </IfModule> </IfModule> <IfModule xsendfile_module> XSendFile on </IfModule> ServerAdmin you@example.com ServerName localhost:80 DocumentRoot "/Users/(僕のユーザー名)/Desktop/Computers/broaden_your_horizons" <Directory /> Options Indexes FollowSymLinks AllowOverride None </Directory> <Directory "/Users/(僕のユーザー名)/Desktop/Computers/broaden_your_horizons"> MultiViews Options All files. AllowOverride All Order allow,deny Allow from all XSendFilePath "/Applications/MAMP/htdocs" </Directory> <IfModule dir_module> DirectoryIndex index.html index.php <IfModule perl_module> DirectoryIndex index.pl </IfModule> <IfModule wsgi_module> DirectoryIndex index.wsgi index.py </IfModule> </IfModule> AccessFileName .htaccess <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> <Files ~ "^\.DS_Store"> Order allow,deny Deny from all </Files> ErrorLog "/Applications/MAMP/logs/apache_error.log" LogLevel error <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> </IfModule> <IfModule alias_module> If you Alias /favicon.ico "/Applications/MAMP/bin/favicon.ico" Alias /icons/ "/Applications/MAMP/Library/icons/" <Directory "/Applications/MAMP/Library/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Alias /phpMyAdmin "/Applications/MAMP/bin/phpMyAdmin" Alias /phpmyadmin "/Applications/MAMP/bin/phpMyAdmin" <Directory "/Applications/MAMP/bin/phpMyAdmin"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Alias /phpPgAdmin "/Applications/MAMP/bin/phpPgAdmin" Alias /phppgadmin "/Applications/MAMP/bin/phpPgAdmin" <Directory "/Applications/MAMP/bin/phpPgAdmin"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Alias /phpLiteAdmin "/Applications/MAMP/bin/phpLiteAdmin" Alias /phpliteadmin "/Applications/MAMP/bin/phpLiteAdmin" <Directory "/Applications/MAMP/bin/phpLiteAdmin"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Alias /MAMP "/Applications/MAMP/bin/mamp" <Directory "/Applications/MAMP/bin/mamp"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Alias /adminer "/Applications/MAMP/bin/adminer" <Directory "/Applications/MAMP/bin/adminer"> DirectoryIndex adminer.php Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin/ "/Applications/MAMP/cgi-bin/" Alias /perl/ "/Applications/MAMP/cgi-bin/" <IfModule perl_module> PerlModule ModPerl::Registry <Location /perl> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> </IfModule> </IfModule> <IfModule cgid_module> </IfModule> ScriptAliased <Directory "/Applications/MAMP/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> DefaultType text/plain <IfModule mime_module> TypesConfig /Applications/MAMP/conf/apache/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz server AddHandler cgi-script .cgi .pyd </IfModule> <IfModule mime_magic_module> MIMEMagicFile /Applications/MAMP/conf/apache/magic </IfModule> directory can be <IfModule ssl_module> SSLRandomSeed startup file:/dev/urandom 1024 SSLRandomSeed connect file:/dev/urandom 1024 learn more google for "POODLE SSLv3". </IfModule>
###試したこと
teratailに似たような質問があったので、以下のサイトを参考に、シバン行を変えてみたり、文字コードを変えてみたりしましたが、エラーは消えませんでした。
CGI形式でpythonを実行する際、pyenvで指定したバージョンのpythonが実行されるようにしたいです
回答2件
あなたの回答
tips
プレビュー