Articles of bash

PHP-скрипт для выполнения сценария bash

У меня есть 3 сценария (я удалил функцию help_page из скрипта networkstats.sh, когда я вставил здесь, чтобы сохранить некоторое пространство): api3.php <?php output = shell_exec('/bin/bash /usr/share/nginx/status/getnetworkstatsin.sh'); echo $output; ?> getnetworkstatsin.sh #!/bin/bash ssh -i /tmp/id_rsa1 root@centos7clone bash -s — -I < ./networkstats.sh networkstats.sh #!/bin/bash interface=enp0s3 read -r inbytesold outbytesold < <(awk -v dev="^$interface:" '$1 ~ dev […]

Метод (например, через скрипт bash), чтобы превратить индексы php-массива в настоящее время с использованием констант в индексы массивов с использованием одинарных кавычек?

У меня есть огромная куча php-скриптов с большим количеством констант, которые используются вместо правильных строк с одним кавычком. Например: $row_rsCatalogsItems[Name] (Плохо) вместо $row_rsCatalogsItems['Name'] (хорошо) Как я могу создать скрипт (bash, php, что наиболее удобно), который я могу запустить на скриптах, чтобы преобразовать их в более разумный метод? В идеале это не будет просто соответствовать [something], […]

Какой способ записи в системные файлы Linux с помощью PHP

Нам нужны некоторые сценарии для создания конфигурационных файлов для сетевых сервисов, таких как DHCP, DNS и Network, на основе ввода пользователем. Для этого требуется root-доступ, но я не знаю, как запустить PHP-приложение как root. Он проходит через общедоступный веб-интерфейс.

bash php silence segfault

Мне нужно предотвратить весь вывод php, https://stackoverflow.com/a/617184/1695680 описывает, как это сделать в целом, и для исключений, ошибок, синтаксических ошибок до сих пор он работал, но. php для создания segfault в расширении pcre: https://ilia.ws/archives/5_Top_10_ways_to_crash_PHP.html <?php # prce-bug.php preg_match('/(.(?!b))*/', str_repeat("a", 10000)); В моем тестировании это все еще выводит: user@host ~/crash-php $ php pcre-bug.php Segmentation fault (core dumped) […]

PHP cli Оптимизация использования памяти

Я пытаюсь закодировать собственный url_rewriter для squid. Кроме того, с использованием некоторых других программ url_rewriter, таких как squidGuard, необходимо использовать оболочку для использования как в любой другой программе. когда я пытаюсь зациклиться на php. (таким образом, как squid взаимодействует с внешними программами. STDIN / STDOUT. он дает вам URL-адрес, и вы должны отправить новый или […]

Запуск хромого из php

Я пытаюсь запустить хромой из php-скрипта. Я пробовал это, но не повезло, я ничего не получил! Есть идеи? system('lame', $returnarr); system('lame –help', $returnarr); exec('lame', $returnarr); passthru('lame', $returnarr); даже этот ничего не возвращает: exec('which lame', $returnarr); Я на OSX, и окончательное развертывание будет на Linux. У вас есть лучшие предложения для автоматического преобразования wav-> mp3? От […]

Как запустить сценарий оболочки как другой пользователь с PHP на Nginx?

Попытка запуска сценария оболочки с запросом POST (обрабатывается nginx). Пока нет успеха. Что у меня есть: exec('whoami'); // nginx nginx:x:220:498:Nginx web server:/var/lib/nginx:/sbin/nologin Как видим, пользователь nginx не имеет оболочки. Может быть, это проблема? Следующий, nginx ALL=(user) NOPASSWD: /path/to/script.sh Если я изменю nginx на моего настоящего пользователя, я могу запустить sudo -u user /path/to/script.sh без приглашения […]

Ошибка при выполнении php-скрипта из bash

Привет, я пытаюсь выполнить php-файл из сценария bash #!/bin/sh php ./func.php и файл func.php выглядит так: <?php echo "php file"; И как вывод PHP Warning: Module 'apc' already loaded in Unknown on line 0 EDIT: И, может быть, U может также сказать мне, как передать параметр в файл php?

Как заставить GPG принимать входные данные от STDIN вместо попытки открыть файл?

Я пытаюсь включить прозрачное подписание текста GPG в строке в скрипте PHP. Я могу заставить GPG шифровать текст в строке следующим образом: $encrypted = shell_exec("echo '$text' | gpg -e -a -r foo@bar.com –trust-model always"); и это работает отлично, при этом зашифрованный текст отправляется в переменную $ encrypted. Это доказывает правильность настройки GNUPGHOME и GNUPG. Однако, […]

Как проверить, обновлен ли composer.lock?

Во время разработки (несколько человек в команде) иногда composer install : Внимание: файл блокировки не обновляется с последними изменениями в composer.json. Вы можете получать устаревшие зависимости. Запустите обновление, чтобы обновить их. Есть ли способ проверить это очень быстро (в миллисекундах, без каких-либо изменений)? Я понимаю, как работает композитор. Однако при слиянии кода в нем не […]