Snusmumriken
Ну вот такая фигня, но с полным-полным индексом.
خداست
Чо то уже заморочился, Короткая суть:
1)ubuntu , lua установлена и работает
2) на веб сервере нет возможности lua
Поставил как здесь написано
https://www.php.net/manual/ru/lua.installation.php
на шаге когда
Then edit /etc/php.ini and add the following line below the similar ones:
extension=lua.so
пишет, что не найден модуль lua.so и где его взять не понятно
Artem
fgntfg
Снууууууус
fgntfg
Куууууууубик
vvzvlad
Лошаааадка
Saphire
Наркоманыыыыы
vvzvlad
"Дама с собачкой" подумали наркоманы.
Maxim
Snusmumriken
На будущее: пурга тут не нужна. Этот чатик не для того чтобы "рассказывать как безумно проходят ваши дни", за исключением безумного проганья на луях
خداست
резмирую: lua должно ставиться как расширение php, проверяться через phpinfo(), использоваться в нативном php как
<?php
$lua = new Lua();
$lua->assign("php_var", array(1=>1, 2, 3)); //lua table index begin with 1
$lua->eval(<<<CODE
print(php_var);
CODE
);
?>
Дальше вы уже не нужны, так как надо писать обертки для того, что бы использовать во всяких фреймворках типа Laravel, как здесь часто отвечают RTFM
خداست
не знаю ругать вас или хвалить, решите сами )
خداست
всякие расширения для apach или nginx вообще не к месту! Они служал исключительно для управления самими вебсерверами!!
mva
mva
модуль ngx_lua "служит" не только для "управления самим вебсервером". У меня на нём более десятка сайтов
mva
خداست
садись, два
ну ты хотя бы прочитал мое первое сообщение, прежде чем сраться )) Я спрашивал про интеграцию php - lua, я не затрагивал темы что на lua можно сайты писать, Ты хоть в школу то ходил?!
Как тебя расперло от того, что что двойки получал ))
mva
в первом сообщении написано "нет возможности lua" (что уже само по себе слишком кривое (для возможности адекватно и однозначно понять) предложение).
так же написано "lua установлена и работает"
а ещё написано "поставил как написано здесь <ссылка на php>"
mva
никакого "я спрашивал про интеграцию php-lua" там нет
mva
там написано "я не могу нормально описать свою ситуацию и решил делать непонятно что через задницу"
خداست
там написано "я не могу нормально описать свою ситуацию и решил делать непонятно что через задницу"
Отлично, если ты считаешь себя спецом ответил бы так, что есть возможности
1) Использовать lua вместо php
2) есть возможность конфигурировать веб сервис c помощью lua через расширения
3) есть возможность использовать в php lua интерпритатор, через расширение php
Что ищем.
Кроме потока говно слов типа: "адекватно", "делать непонятно что через задницу"
Ты решала на базаре судя по сленгу, а не программист.
mva
давай-ка без попыток взять на слабо оборотами типа "если ты считаешь себя спецом"
mva
начнём с того, что ты так и не сформулировал исходную проблему
mva
а ввалился сразу с "я решил одевать штаны через голову" (использовать lua внутри php) без объяснения для чего тебе такое извращение понадобилось впринципе
Pavel
Pavel
Говнюсь чисто из-за формулировки.
خداست
Говнюсь чисто из-за формулировки.
Не надо, хватит одного )),
Я тебя понял, услышал, у меня другая задача была, это я просто когда изучал наткнулся, возможно и даже очень вероятно, что можно и более навернуть.
mva
ещё три раза это напиши
mva
прошлого раза не хватило
Saphire
Несколько мне видно, вы первые перешли на личности и посылы в разные места.
Artem
Artem
Snusmumriken
резмирую: lua должно ставиться как расширение php, проверяться через phpinfo(), использоваться в нативном php как
<?php
$lua = new Lua();
$lua->assign("php_var", array(1=>1, 2, 3)); //lua table index begin with 1
$lua->eval(<<<CODE
print(php_var);
CODE
);
?>
Дальше вы уже не нужны, так как надо писать обертки для того, что бы использовать во всяких фреймворках типа Laravel, как здесь часто отвечают RTFM
Lua должно ставиться ровно так, как оно ставится. Хочешь я тебе прикручу вместо
<?php
$world = "PHP World"
print("Hello from " . $world)
?>
Вот такое?
<?lua
local world = 'Lua World'
print('Hello from ' .. world)
?>
Это не сложно.
Просто обработка тегов вебсервером, какой-то темплейтизатор который эвалит куски кода из хтмля.
Как вебсервер устроен, такой интерпретатор и будет. То что ты хочешь — оно типа универсальное. Это биндинг конкретно луёв конкретно к пхп. На самом деле, подобная методика совсем не для прода, потому что очень медленно: один интерпретатор разворачивает другой интерпретатор на каждый запрос, и каждый раз эвалит чанк кода, по новой реинициализируясь. Нормальные люди встраивают интерпретатор прям в вебсервер, чтобы тот и нормально работал с ме-е-е-едленными io-операциями типа файлов/сокетов, и чтобы многопоточность и кеширование корректно работало с конкретным интерпретатором, поэтому-то и есть разные файлики для пыха, для луёв, для перла и для хаскеля, хоть для жс: вебсервер смотрит на формат файла и думает, чем именно его интерпретировать, каким интерпретатором по списку. Ровно так это сделано в OpenResty.
Maxim
Maxim
Snusmumriken
А я пока плохо понимаю, если уж так приспичило — что мешает открыть именованную пайпу, загрузить в неё чанк кода, направить её в луа-интерпретатор и вытащить переработанный результат :<
Maxim
Saphire
Может им Луа надо в пхп? Что странно конечно, и наводит на вопрос о рассудке тех, кто это делал, мешать два языка таким образом
Maxim
Maxim
Maxim
Snusmumriken
Лапша.
Maxim
У нас 8 яп на проекте, неужели это плохо?
Snusmumriken
Конечно, можно всё структурировать, но как только за чем-то не уследил — лапша. Кому-то что-то когда-то было влом и он впихнул костыль — адовый турдукен лигаси.
Saphire
У нас 8 яп на проекте, неужели это плохо?
...да? :)
Как снус говорит - лапша лапшичная. У вас тогда куча дублирующихся сущностей и моделей которые есть везде, но везде на своем языке и их надо все обновлять и правильно обрабатывать, и самое ужасное - одинаково это делать.
Maxim
Saphire
Повторюсь про дубликаты моделей, но ладно. Странно конечно с моей точки зрения. А в чем преимущества такой конструкции кстати?
Snusmumriken
Насколько я помню, луа в проектах Максима используется как препроцессинг/постпроцессинг (проверка запрос-ответов), роутинг и супа-фаст-кеш, минимум логики. Какие данные внутри запросов — пофигу, пока они соответствуют формату, и они уже потом передаются фиговине на другом ЯП, которая генерит сущности, со своей единственной и неповторимой кодобазой сущностей. Я могу ошибаться, но впечатление создалось примерно такое.
Maxim
Насколько я помню, луа в проектах Максима используется как препроцессинг/постпроцессинг (проверка запрос-ответов), роутинг и супа-фаст-кеш, минимум логики. Какие данные внутри запросов — пофигу, пока они соответствуют формату, и они уже потом передаются фиговине на другом ЯП, которая генерит сущности, со своей единственной и неповторимой кодобазой сущностей. Я могу ошибаться, но впечатление создалось примерно такое.
Да, все верно, почти всё описал правильно, lua используется в основном в nginx, один скрипт одна функция, не больше 10-20 строк и никакой завязки на модели или сущности из других яп
Maxim
Препроцессинг, постпроцессинг, мультизапросы, парсинги body, redis и многое другое что позволяет как можно быстрее вернуть ответ пользователю
Maxim
Snusmumriken
> кейсов
Косяков ))
Saphire
иссуй?
Тикетов?
Snusmumriken
КОШМАРОВ
Иссуй-тикет обычно означает что кто-то сверху озаботился.
Maxim
иссуй?
Тикетов?
Наверняка у вас на проекте есть nginx который работает в качестве прокси для какого нибудь яп типа java, php e.t.c я угадал?
Saphire
Snusmumriken
Saphire
>не предлагаю выполнять два интерпретатора друг за другом
>хочется выполнить lua скрипт в php
Гм.
خداست
Snusmumriken
Да, уточнение Сапфиры: пхп — это интерпретатор. И луа — тоже интерпретатор. Раз интерпретатор, два интерпретатор, вместе мы интерпретаторы. Интерпретаторы интерпретаторами интерпретировали-интерпретировали да не выинтерпретировали.
خداست
خداست
Snusmumriken
Так, если луа в другом приложении, как ты собрался дёргать из пхп? Или у тебя тот же подход что и у баз данных, типа: $sql = new Sql(host, port)?
Только $lua = new Lua() — типа коннектимся к луа в другом приложении, так? Ты именно это имел ввиду?
Maxim
خداست
Так, если луа в другом приложении, как ты собрался дёргать из пхп? Или у тебя тот же подход что и у баз данных, типа: $sql = new Sql(host, port)?
Только $lua = new Lua() — типа коннектимся к луа в другом приложении, так? Ты именно это имел ввиду?
не свосем, есть скрипт на lua, который что-то делает в другом приложении, мне надо реализовать его в php, что бы немного изменяя логику lua, делать это в двух приложениях единообразно
Snusmumriken
Тогда, кто бы мог подумать, ты хочешь интерпретировать луа скрипт внутри пхп, всё ровно то что тебе пять раз сказали.
Знаешь что? Давай встраивай в луа-приложение (типа демона/сервиса) веб/рпц-сервер, чтобы принимало твои команды из пхп по сети, что-то делало и возвращало результат который ты хочешь, и ты к нему будешь коннектиться как к базе, и говорить: "А выполните мне тут ляпкина-тяпкина. С такими-то аргументами".
خداست
Snusmumriken
Ага. Раз тут не так сложно, тогда exec и пайпы. Иди простым путём, ты же уже поставил интерпретатор луа?
Snusmumriken
Ты просто вместо того чтобы воспользоваться общественным туалетом, идёшь в лес копать и строить свой. Нет, так оно не работает. И никому особо не нужно было исполнять луа в пхп, это малорациональная задача.
Вот исполнять жс — нормально.
خداست
Ага. Раз тут не так сложно, тогда exec и пайпы. Иди простым путём, ты же уже поставил интерпретатор луа?
так уже отписывался же
резмирую: lua должно ставиться как расширение php, проверяться через phpinfo(), использоваться в нативном php как
<?php
$lua = new Lua();
$lua->assign("php_var", array(1=>1, 2, 3)); //lua table index begin with 1
$lua->eval(<<<CODE
print(php_var);
CODE
);
?>
Дальше вы уже не нужны, так как надо писать обертки для того, что бы использовать во всяких фреймворках типа Laravel, как здесь часто отвечают RTFM