ホームページ  >  記事  >  バックエンド開発  >  PHP WEB ページ上のリンクをクリックして SHELL スクリプトを実行する方法

PHP WEB ページ上のリンクをクリックして SHELL スクリプトを実行する方法

WBOY
WBOYオリジナル
2016-06-23 13:58:59955ブラウズ

タイトルにあるように、EXL を生成する PHP プログラムを作成しました。ページ上のリンクをクリックして、この PHP を呼び出して EXL を生成したいのですが、どうすればよいですか?

ここで行うことは、次のように WEB ページに getexl.php へのリンクを作成することです:

WEB 呼び出しコード:
e4ff49280424fe7fe11d6dc579ce0c87Generate EXL< ; /a>

getexl.php コード:
system("/usr/local/bin/php /www/xxxx/exllfile.php");//EXL プログラムを生成

クリック リンク後、IE の進行状況バーが非常に遅くなり、実行できません。プログラム /www/xxxx/exllfile.php には問題はありません。LINUX では数秒しかかかりません。何が問題ですか?


ディスカッション (解決策) に返信

もう権限がありません

どのような権限が必要ですか?私のディレクトリとファイルはすでに 777 です

WEB 実行用にサーバーの権限を設定する必要がありますか?

WEB実行の権限設定をサーバーに行う必要がありますか?

リンクをクリックした後、IE の進行状況バーが非常に遅くなり、実行できません。

ファイルが生成されないのか、それともファイルは生成されてもダウンロードできないのか。
ファイルが生成された場合はダウンロードできません。 /usr/local/bin/php /www/xxxx/exllfile.php
exl ファイルを生成した後、ヘッダーとエコー ファイルの内容を設定しましたか?

たとえば、生成されるファイル名は 1.xls です。
ダウンロードすることをブラウザに通知する必要があるため、ヘッダーを設定する必要があります。

header('content-type:application/octet-stream');header('content-disposition:attachment;filename=1.xls');header('content-length:'.filesize('1.xls'));readfile('1.xls');

システム内の php が実行できません。 system("/usr/local/bin/php /www/xxxx/exllfile.php"); というエラー文が 1 つしかなく、実行できません。 PHP はシステム関数を閉じましたか? Disabled_function パラメータ

disabled_function パラメータは php.ini で設定されていますか?

このパラメータを on に設定するだけなので、disable_functions = on になりますか?

このパラメータを on に設定するだけなので、disable_functions = on になりますか?

いいえ、この位置は無効にしたいメソッドを入力するためのものです。例:

disable_functions = system,exec,shell_exec,passthru,proc_open,proc_close, proc_get_status,checkdnsrr,getmxrr,getservbyname,getservbyport, syslog,popen,show_source,highlight_file,dl,socket_listen,socket_create,socket_bind,socket_accept,socket_connect, stream_s ソケットサーバー、stream_socket_accept、stream_socket_client、ftp_connect、ftp_login、ftp_pasv、ftp_get、sys_getloadavg、disk_total_space、disk_free_space、posix_ctermid、posix_get_last_error、posix_getcwd、posix_getegid、posix_geteuid、posix_getgid、posi、 x_getgrnam、posix_getgroups、posix_getlogin、posix_getpgid、posix_getpgrp、posix_getpid、posix_getppid、posix_getpwnam、posix_getpwuid 、posix_getrlimit、posix_getsid、posix_getuid、posix_isatty、posix_kill、posix_mkfifo、posix_setegid、posix_seteuid、posix_setgid、posix_setpgid、posix_setsid、posix_setuid、posix_strerror、posix_times、posix_ttyname、 x_uname

次に、PHP のシステム関数を開きます。 どのように設定しますか?

PHP を開くためにシステム関数を設定するにはどうすればよいですか?

設定ファイルの disable_functions セクションからシステム関数を削除します


セーフモードを確認します。 。 。 。

なお、exl生成時にはこれを行う必要はありませんよね?


解決しました、皆さんありがとうございます!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。