Сленг PHP-разработчиков

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сленг PHP-разработчиков

Сообщение alibek » 14.09.2016 (Ср) 16:19

У нас есть сервер, на котором хостится пара сайтов. Сайтами занимается наш веб-мастер.
Никаких особых запретов на хостинге не делал, разве что root-доступ не давал.
Для сайтов организовал SSH и FTP.
Сейчас веб-мастер сообщил, что не может установить форум (этот, если это что-то пояснит), т.к. выключена или не установлена функция getimagesize.
Я не понял, что имеется ввиду. Расшифровать, что это означает и что нужно сделать, веб-мастер тоже не смог.
Насколько я вижу по справочнику, это функция библиотеки GD, которая на инсталляции PHP есть.
Кто может перевести, что хочет веб-мастер?
Lasciate ogni speranza, voi ch'entrate.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Сленг PHP-разработчиков

Сообщение Proxy » 14.09.2016 (Ср) 17:37

alibek писал(а):которая на инсталляции PHP есть

Предположу, что с правами доступа к ресурсу что-то.
До 4.3.4 смотреть .htaccess
С 4.3.4 флаг живет в php.ini

Могу ошибаться, я не настоящий сварщик. Гуглить allow_url_fopen.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сленг PHP-разработчиков

Сообщение Хакер » 14.09.2016 (Ср) 17:49

alibek писал(а):Насколько я вижу по справочнику, это функция библиотеки GD, которая на инсталляции PHP есть.

Так вот этот самый справочник уточняет:
Замечание:
Этой функции не требуется библиотека GD.


Конечно, теоретически возможно, хоть и очень маловероятно, что функция при компиляции была исключена из исходников каким-нибудь ключом условной колмпиляци или даже вручную. Это то, что веб-мастер называет словом «не установлена». Другой вариант, вероятность которого выглядит куда более убедительная, хоть и редко на практике встречающийся, это то, что эта функция действительно могла быть выключена. С помощью директивы disable_functions в файле php.ini можно отключить произвольный набор функций. Кто-то мог включить getimagesize, увидел в ней какую-то опасность, например такую. Ну есть ещё третий вариант, что веб-мастер просто дословно пересказывает ошибку, которую выдал ему код форума, а код форума мог выдать такую ошибку в силу какого-нибудь собственного бага.

Поэтому для установления истины рекомендую создать файл test.php с примерно таким сожержимым:
Код: Выделить всё
<?php
$x 
= getimagesize('/dev/null');
var_dump($x);
?>

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

Если
PHP Notice: getimagesize(): Read error! in /home/firehacker/test.php on line 2
bool(false)

то значит третий вариант — с функцией всё в порядоке, а движок врёт. Либо врёт (сознательно или несознательно) веб-мастер.

Если такое:
PHP Warning: getimagesize() has been disabled for security reasons in /home/firehacker/test.php on line 2
NULL

то этой второй вариант — функцию выключили ini-директивами.

Если такое:
PHP Fatal error: Call to undefined function getimagesize() in /home/firehacker/test.php on line 2

то функцию исключили из исходников на этапе компиляции.

Если другое сообщение — то выкладывай его сюда.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Сленг PHP-разработчиков

Сообщение alibek » 14.09.2016 (Ср) 20:43

Код: Выделить всё
<?php
$x = getimagesize('/dev/null');
var_dump($x);
$x = getimagesize('/data/sites/test/www/newyear/images/white.png');
var_dump($x);
?>

Код: Выделить всё
bool(false)
array(6) {
  [0]=>
  int(656)
  [1]=>
  int(526)
  [2]=>
  int(3)
  [3]=>
  string(24) "width="656" height="526""
  ["bits"]=>
  int(8)
  ["mime"]=>
  string(9) "image/png"
}

Стало быть, веб-мастеру нужно самому разбираться.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сленг PHP-разработчиков

Сообщение Хакер » 15.09.2016 (Чт) 0:43

alibek писал(а):Стало быть, веб-мастеру нужно самому разбираться.

Если твой тест не имел расхождений с его вариантом в плане окружения (например, php вызванный из командной строки и php, дёрнутый веб-сервером, могут использовать разные ini-файлы, либо, к примеру, сервер Apache может использовать php как собственный so-модуль) — то да.

А этот тот же самый веб-мастер?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Сленг PHP-разработчиков

Сообщение alibek » 15.09.2016 (Чт) 9:10

Хакер писал(а):Если твой тест не имел расхождений с его вариантом в плане окружения (например, php вызванный из командной строки и php, дёрнутый веб-сервером, могут использовать разные ini-файлы, либо, к примеру, сервер Apache может использовать php как собственный so-модуль) — то да.

Не имел, я этот файл создал прямо на сайте (добавил файл test.php и открыл страницу /test.php).
Разве что на сайте в точке входа изменяется конфигурация PHP.

Хакер писал(а):А этот тот же самый веб-мастер?

Да.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList