Обычно я разрабатываю веб-сайты PHP, используя текстовый редактор в каталоге Unix Apache htdocs
, а сайты, использующие GD-библиотеку, просто работают «из коробки».Библиотека GD в локальном экземпляре PHP, запущенного из Netbeans с xdebug
Однако для этого нового клиента мне сказали использовать их существующую инфраструктуру с Netbeans, поскольку IDE работает на PHP локально на машине под Windows, у которой нет Apache. Сайт, в конечном счете, будет развернут в обычной среде Apache/PHP, где он работает нормально.
Практически все работает нормально локально, за исключением того, что библиотека GD, однако включена в php.ini
, не работает. Код с помощью GD терпит неудачу с этой ошибкой:
Fatal error: Uncaught Error: Call to undefined function imagecreate()
Когда я выполнить этот файл в командной строке:
<?php //session_start();
print_r(get_loaded_extensions());
?>
его выход включает в себя модуль GD поэтому она должна быть полезной в коде:
C:\Program Files\PHP>php 1.php
Array
(
[0] => Core
[1] => bcmath
[2] => calendar
[3] => ctype
[4] => date
[5] => filter
[6] => hash
[7] => iconv
[8] => json
[9] => mcrypt
[10] => SPL
[11] => pcre
[12] => Reflection
[13] => session
[14] => standard
[15] => mysqlnd
[16] => tokenizer
[17] => zip
[18] => zlib
[19] => libxml
[20] => dom
[21] => PDO
[22] => bz2
[23] => SimpleXML
[24] => xml
[25] => wddx
[26] => xmlreader
[27] => xmlwriter
[28] => openssl
[29] => curl
[30] => fileinfo
[31] => gd
[32] => gettext
[33] => gmp
[34] => intl
[35] => mbstring
[36] => exif
[37] => mysqli
[38] => Phar
[39] => pdo_mysql
[40] => PDO_ODBC
[41] => pdo_sqlite
[42] => soap
[43] => sockets
[44] => sqlite3
[45] => tidy
[46] => xmlrpc
[47] => xsl
[48] => xdebug
)
Но когда я использую ту же функцию в PHP странице она не включает в себя, как много расширений:
Array ([0] => Core [1] => bcmath [2] => calendar [3] => ctype [4] => date [5] => filter [6] => hash [7] => iconv [8] => json [9] => mcrypt [10] => SPL [11] => pcre [12] => Reflection [13] => session [14] => standard [15] => mysqlnd [16] => tokenizer [17] => zip [18] => zlib [19] => libxml [20] => dom [21] => PDO [22] => Phar [23] => SimpleXML [24] => xml [25] => wddx [26] => xmlreader [27] => xmlwriter [28] => cli_server [29] => xdebug)
Это значит, что что-то в php.ini
неверно, и PHP работает в командной строке, но не от Netbeans?
Как включить библиотеку GD в этой локальной среде?
Проверьте файл php.ini, который использует netbeans, и убедитесь, что расширение GD включено. – Dekel
Сравните вывод 'php -ini' в командной строке с выходом' phpinfo() 'на веб-странице. Вероятно, вы найдете разные файлы INI. – timclutton
В обоих случаях это был тот же ИНИ. Но машина была перезапущена в одночасье, и теперь все работает. Не уверен, что это было и почему. – Faqit