GD, по-видимому, не связан с php-модулем TideSDK

Я прочитал эту тему: Есть ли у TideSDK какие-либо возможности обработки изображений?

Я попытался использовать функции gd и потерпел неудачу в своем приложении TideSDK, а затем я запустил get_extension_funcs("gd");, чтобы узнать, какие функции gd были доступны, и я получаю «нулевой» ответ. Я также проверил, какой файл ini загружен (также возвращается ноль). Похоже, что модуль php работает довольно тонко (по понятным причинам). Вот что я пробовал:

  1. с использованием библиотеки Python PIL (были аналогичные проблемы с библиотекой с python)
  2. используя гем Ruby chunky_png (здесь он имел наибольший успех, но продолжал сталкиваться с проблемами, выясняя, загружен ли гем, и приходилось загружать его каждый раз, когда рубиновый «встроенный сервер» запускался
  3. настройка «локального» файла php.ini, чтобы попытаться вставить библиотеку gd (здесь мне не по душе)

Мой опыт был обширен с написанием кода приложения php, не так много с конфигурациями среды. У тебя есть идеи? Удалось ли вам успешно использовать библиотеку gd с TideSDK?

Я изучаю возможность зарезервировать место с помощью TideKit, но я делаю пробную сборку, чтобы убедиться, что в первую очередь он выполняет все, что мне нужно. Спасибо за любую помощь!


person uch    schedule 08.07.2014    source источник


Ответы (1)


Определите переносимую библиотеку изображений CLI (командной строки), в моем случае это была ImageMagick. Я смог заставить это работать через Ruby через Bash. «Портативной» библиотекой изображений будет та, которая: a. Может работать без установки на сервере, т. е. не требует, чтобы пути имен функционировали должным образом, поэтому, пока вы знаете, «где» он находится, вы можете перейти в этот каталог и заставить его работать b. Один с приемлемой площадью. Он не может быть слишком большим, иначе это приведет к огромной загрузке вашего приложения.

Образец кода:

### Bash installer for portable build of ImageMagick
#!/bin/bash

# change to scripts directory in Snicket application Contents path
echo "Installing ImageMagick…"
_APPDIR=$1
# _SCRIPTDIR=${1:-.}
_SCRIPTDIR="${_APPDIR}/Resources/scripts"
_HOME=${2:-${HOME}}

echo "Home -> ${_HOME}"

# Figure out directory absolute path
_TODIR=$_HOME/SnicketTools
mkdir $_TODIR
# remove previous installation
_MAGICK_DIR=$_TODIR/ImageMagick-6.8.9
echo "Removing existing directory -> ${_MAGICK_DIR}"
rm -r $_MAGICK_DIR

cd $_TODIR
tar xzvf "${_APPDIR}/Resources/tools/ImageMagick-x86_64-apple-darwin13.2.0.tar.gz"

#if [[ "$3" ]]; then
#   #statements
#   cp -r ./ImageMagick-6.8.9 $3/
#fi

# delete temporary copy of magic directory
## echo "Deleting temporary files from ${PWD}/ImageMagick-6.8.9 -> "
# rm -r ./ImageMagick-6.8.9
# open $_TODIR
echo "Magic directory (before export): ${_MAGICK_DIR}"
export MAGICK_HOME=$_MAGICK_DIR
echo "Magic directory: ${_MAGICK_DIR}"
echo "Magic home: ${MAGICK_HOME}"

## Clean profile file 
_PROFILE=`cat ~/.bash_profile`
echo "Profile information -> ${_PROFILE}"
## You need to add export statements to ~/.bash_profile or ~/.profile 
## or /etc/profile file. This will export variables permanently:
echo "# Snicket Magick Config" >> ~/.bash_profile
echo "export MAGICK_HOME=${_MAGICK_DIR}" >> ~/.bash_profile
echo "export PATH=$PATH:${MAGICK_HOME}/bin" >> ~/.bash_profile
echo "export DYLD_LIBRARY_PATH=${MAGICK_HOME}/lib/" >> ~/.bash_profile
echo "# End Snicket Magick Config" >> ~/.bash_profile
# Reload bash parameters
source ~/.bash_profile
## >> appends to an existing file
# source ~/.bash_profile
# check bash profile # open ~/.bash_profile

Далее Bash-скрипт для запуска базового преобразования изображений с использованием библиотеки:

#!/bin/bash
## You MUST change to the magick directory before running in portable mode

# Use from within Ruby
# cmd = "bash #{$BASHDIR}/make_thumbnail.sh \"#{$MAGICK_HOME}#{$DS}bin\" \"#{img}\" \"#{tfile}\""
# cmd = "#{MAGICK_HOME}#{DS}bin#{DS}compress \"#{img}\" -resize 240x240\\> \"#{tfile}\""

_MAGICK_DIR=$1
_SRC=$2
_THUMB=$3

echo "Changing directory to -> ${_MAGICK_DIR}"
cd $_MAGICK_DIR

echo "Converting from ${_SRC} to ${_THUMB}"

source ~/.bash_profile

./convert "${_SRC}" -resize 240x240\> "${_THUMB}"
person uch    schedule 11.07.2014