Как стать автором
Обновить

Ставим PHP на iPhone

Время на прочтение 2 мин
Количество просмотров 5.2K
Сразу возникает вопрос, для чего это нужно. И сразу ответ: просто побаловаться. Но как 2 варианта использования:
1) Таскать сайт, который всегда с собой, чтобы кому-то показать.
2) Разработка ПО для самого iPhone в связке с PhoneGap. PhoneGap — это SDK для разработки приложений на JS с использованием акселерометра, GEO location и т.д. То есть вместо Objective C мы можем использовать JavaScript. И AJAX. И PHP/Python/Ruby.
Это будет необрезанный PHP, за единственным исключением: в виде СУБД тут может быть использован только sqlite(в том числе и через PDO).
Вот как это будет выглядеть в итоге:

И еще: вместе с PHP можно установить Python и Ruby. А тут уж и до Django недалеко(не знаю насчет ROR).
Приступим к установке.

Для начала потребуется iPhone с прошивкой 2.2.1(это последняя на данный момент) и Wi-Fi на компьютере/ноутбуке.
1. Сначала следует выполнить процедуру анлока телефона с установкой Cydia.
2. Установим OpenSSH через Cydia. Теперь мы сможем соединяться с телефоном по ssh и sftp. Я использую putty и FileZilla для этих целей.
3. Соединяемся с телефоном по ssh. Пароль «alpine»(лыжник по-немецки), устанавливаем PHP и lighttpd(apt-get install php lighttpd), но это можно сделать и через Cydia. Создаем каталоги /var/log/lighttpd и /var/www (mkdir /var/log/lighttpd && mkdir /var/www)
4. Нужно создать конфигурационный файл. Можно использовать vim/mcedit(думаю, понятно, как устанавливать) из консоли, а можно залить его по sftp.
Конфиг должен иметь имя /etc/lighttpd.conf, сам конфиг лежит здесь.
5. Запускаем lighttpd. Для этого выполним команду lighttpd-angel -f /etc/lighttpd.conf
6. Чтобы убить демон, надо выполнить killall lighttpd
7. Можно автоматизировать запуск/остановку сервера через BossPrefs, тогда не нужна будет консоль. А можно установить MobileTerminal и рулить консолью прямо с телефона.



На iPhone нормально прижилась WordPress с плагином для sqlite. Только придется небольшой патчик сделать: дописать в начало index.php строку «function mysql_connect() { return null; }»
Теги:
Хабы:
+85
Комментарии 82
Комментарии Комментарии 82

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн