Должностное лицо PHP () не выполнит команду оболочки при казни через браузер

Вам не нужно вызывать API каждый раз, когда вы переходите на просмотр контроллера, вам нужно вызывать его один раз.

Если у вас есть TableView с ячейкой, и эта ячейка получает от API и откроется новый viewController, когда вы нажимаете на него.

Итак, здесь вы не добавите свой API в:

  1. viewWillAppear ()
  2. viewDidAppear ()

Вы добавите его один раз в viewDidLoad (), в то время как нам нужно минимизировать количество запросов как можно больше.

Пример: контроллер навигации:

Предположим, что Fruits and Cars будут представлены из API.

, когда вы нажимаете на ячейку фруктов, вы перейдете к пункту viewController:

Поэтому, когда вы хотите вернуться к первому контроллеру представления, вам явно не нужно перезагружать api, пока он уже существует.

В этом случае мы используем viewDidLoad () для обработки запроса API

32
задан Jeremy Ruten 11 February 2009 в 21:42
поделиться

8 ответов

Добавьте 2>&1 в конец Вашей команды для перенаправления ошибок от stderr до stdout. Это должно прояснить, что идет не так, как надо.

69
ответ дан 27 November 2019 в 20:04
поделиться

Просто некоторое предположение, могло бы случиться так, что у Вашего пользователя процесса веб-сервера нет полномочий сделать так.

6
ответ дан 27 November 2019 в 20:04
поделиться

Так как это работает, когда от командной строки (который находился бы под Вашей собственной учетной записью пользователя), это звучит мне как учетная запись, веб-сервер работает под (часто, "www-данные") не имеет, выполняют полномочия на программе преобразования.

5
ответ дан 27 November 2019 в 20:04
поделиться

Вы рассмотрели полномочия файла? В браузере php работает при одном пользователе, но когда Вы выполняете его в ударе, он, вероятно, работает с Вашими полномочиями пользователя.

Это - первая вещь, которую я проверил бы.

Amy

3
ответ дан 27 November 2019 в 20:04
поделиться

Ваш пользователь Apache/веб-сервера имеет необходимые права выполнить команду оболочки?

, Когда Вы работаете от статьи, Вы, вероятно, работаете как другой пользователь, который может объяснить, какая статья работает, но через браузер не делает.

2
ответ дан 27 November 2019 в 20:04
поделиться

Я решил, что это - проблема с ImageMagick, не PHP. Я делаю попытку нескольких мер, и если они не работают, я собираюсь закончить тем, что пользовался совместно использованной библиотекой некоторого PHP (вероятно, imagick), чтобы сделать работу вместо этого.

0
ответ дан 27 November 2019 в 20:04
поделиться

Это может быть связано с тем, что разные пользователи запускают сценарий через веб-сервер, а сценарий через bash.

Обычно сценарии / exec вызываются через сервер, как с пользователем 'www', и это у пользователя нет прав на запись в вашем регионе. но когда вы запускаете сценарий в bash, у вас есть права на запись.

1
ответ дан 27 November 2019 в 20:04
поделиться

Устройство вывода по умолчанию изменено.

Вход в систему WWW (после включения) дает вывод через оболочку, но не через PHP.

0
ответ дан 27 November 2019 в 20:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: