Có cách nào để kiểm tra tập lệnh PHP nếu
if[function_exists['exec']] {
echo "exec is enabled";
}
2 được bật hoặc tắt trên máy chủ không?Khi được hỏi ngày 1 tháng 5 năm 2010 lúc 10:34May 1, 2010 at 10:34
1
Điều này sẽ kiểm tra xem chức năng có thực sự hoạt động không [quyền, quyền, v.v.]:
if[@exec['echo EXEC'] == 'EXEC']{
echo 'exec works';
}
Tobias
4.3732 Huy hiệu vàng19 Huy hiệu bạc38 Huy hiệu đồng2 gold badges19 silver badges38 bronze badges
Đã trả lời ngày 13 tháng 1 năm 2013 lúc 23:04Jan 13, 2013 at 23:04
Michael D Pricemichael d GiáMichael D Price
6611 huy hiệu vàng5 huy hiệu bạc2 huy hiệu đồng1 gold badge5 silver badges2 bronze badges
3
if[function_exists['exec']] {
echo "exec is enabled";
}
Đã trả lời ngày 1 tháng 5 năm 2010 lúc 10:36May 1, 2010 at 10:36
nc3bnc3bnc3b
14.8k5 Huy hiệu vàng49 Huy hiệu bạc63 Huy hiệu Đồng5 gold badges49 silver badges63 bronze badges
6
ini_get['disable_functions']
Những gì bạn thực sự muốn làm là sử dụng
if[function_exists['exec']] {
echo "exec is enabled";
}
3 để tìm hiểu xem nó có sẵn cho bạn không:
Đã trả lời trên StackOverflow TẠI ĐÂY: Kiểm tra xem "Exec" có bị vô hiệu hóa không, điều này dường như đến từ trang Php Man: //php.net/manual/en/function.exec.php#97187
Đường dẫn
Nếu trả về trên True [bạn có thể sử dụng Exec []], nhưng PHP vẫn không thể kích hoạt tập lệnh thì rất có thể bạn gặp sự cố đường dẫn cho tập lệnh đó, hãy kiểm tra điều này bằng cách thực hiện:
print exec['which bash'];
Và sau đó thử
print exec['which ogr2ogr'];
Đã trả lời ngày 6 tháng 8 năm 2014 lúc 10:47Aug 6, 2014 at 10:47
DuncanmooduncanmooDuncanmoo
3.0641 Huy hiệu vàng31 Huy hiệu bạc31 Huy hiệu đồng1 gold badge31 silver badges31 bronze badges
Điều này sẽ kiểm tra xem Exec có sẵn và được bật trước khi cố gắng chạy nó không. Nếu bạn chạy EXEC [] và hàm không tồn tại hoặc bị vô hiệu hóa, cảnh báo sẽ được tạo. Tùy thuộc vào cài đặt máy chủ có thể hiển thị cho trình duyệt và sẽ luôn luôn viết một dòng vào tệp nhật ký = hiệu suất nhấn.
// Exec function exists.
// Exec is not disabled.
// Safe Mode is not on.
$exec_enabled =
function_exists['exec'] &&
!in_array['exec', array_map['trim', explode[', ', ini_get['disable_functions']]]] &&
strtolower[ini_get['safe_mode']] != 1
;
if[$exec_enabled] { exec['blah']; }
Đã trả lời ngày 13 tháng 3 năm 2013 lúc 14:38Mar 13, 2013 at 14:38
Lance Cleveland ClevelandLance Cleveland
3.0781 Huy hiệu vàng32 Huy hiệu bạc35 Huy hiệu Đồng1 gold badge32 silver badges35 bronze badges
1
Có một chút khó khăn để tìm chức năng
if[function_exists['exec']] {
echo "exec is enabled";
}
4 có sẵn cho đến khi trừ khi kiểm tra tất cả các khả năng1.
if[function_exists['exec']] {
echo "exec is enabled";
}
52.Scanning qua
if[function_exists['exec']] {
echo "exec is enabled";
}
63. Kiểm tra
if[function_exists['exec']] {
echo "exec is enabled";
}
7 được bậtfunction is_shell_exec_available[] {
if [in_array[strtolower[ini_get['safe_mode']], array['on', '1'], true] || [!function_exists['exec']]] {
return false;
}
$disabled_functions = explode[',', ini_get['disable_functions']];
$exec_enabled = !in_array['exec', $disabled_functions];
return [$exec_enabled] ? true : false;
}
Hàm này không bao giờ đưa ra cảnh báo trừ khi chức năng
if[function_exists['exec']] {
echo "exec is enabled";
}
8 không bị vô hiệu hóa.Đã trả lời ngày 17 tháng 5 năm 2017 lúc 11:01May 17, 2017 at 11:01
ThamaraiselvamthamaraiselvamThamaraiselvam
6.8308 Huy hiệu vàng47 Huy hiệu bạc69 Huy hiệu Đồng8 gold badges47 silver badges69 bronze badges
Tôi giả sử rằng bạn đang chạy nó trên một máy chủ Linux.
Bạn có thể kiểm tra chức năng EXEC bằng cách chạy tập lệnh PHP sau:
exec["whoami", $ret];
echo $ret[0];
Điều này sẽ trả lại lệnh Whoami.
Nếu nó lỗi, đó là do chức năng EXEC không thể chạy.
Willie Cheng
6.93012 Huy hiệu vàng47 Huy hiệu bạc63 Huy hiệu Đồng12 gold badges47 silver badges63 bronze badges
Đã trả lời ngày 24 tháng 5 năm 2016 lúc 7:40May 24, 2016 at 7:40
Example:
if[strpos[ini_get['disable_functions'],'ini_set']===false]
@ini_set['display_errors',0];
Đã trả lời ngày 12 tháng 10 năm 2016 lúc 14:18Oct 12, 2016 at 14:18
Đây là một số mã xấu xí tôi đã thực hiện để phát hiện nếu một hàm được bật hay không.
function is_enabled[$f]
{
if[$f=='ini_get']return@ini_get['a']===false;
return[[$l=@ini_get['disable_functions']]===null||!is_callable[$f]||!function_exists[$f]||!in_array[$f,array_map['trim',explode[',',$l]]];
}
//Usage example:
print_r[is_enabled['str_split']];//true or null if ini_get[] is disabled
Ô
4.6732 Huy hiệu vàng21 Huy hiệu bạc31 Huy hiệu Đồng2 gold badges21 silver badges31 bronze badges
Đã trả lời ngày 12 tháng 2 năm 2014 lúc 18:27Feb 12, 2014 at 18:27
Ismael Miguelismael MiguelIsmael Miguel
4.0291 Huy hiệu vàng31 Huy hiệu bạc38 Huy hiệu đồng1 gold badge31 silver badges38 bronze badges
[Dựa trên các câu trả lời khác] Để kiểm tra xem EXEC có tồn tại không và dịch vụ đang chạy:exec exists and services are running:
if[function_exists['exec']] {
echo "exec is enabled";
}
0Đã trả lời ngày 8 tháng 10 năm 2019 lúc 19:19Oct 8, 2019 at 19:19
Sinan Eldemsinan EldemSinan Eldem
5.2783 huy hiệu vàng35 Huy hiệu bạc36 Huy hiệu đồng3 gold badges35 silver badges36 bronze badges
Tôi sẽ sử dụng cái này:
if[function_exists['exec']] {
echo "exec is enabled";
}
1Đã trả lời ngày 15 tháng 3 lúc 0:54Mar 15 at 0:54
Tim timtim
2.3762 Huy hiệu vàng25 Huy hiệu bạc44 Huy hiệu đồng2 gold badges25 silver badges44 bronze badges