Försöker använda tdtool från PHP i Mac OS.
Vilket fungerar men jag får till svar att det inte finns några enheter om jag gör anropet via PHP.
Gör jag däremot exakt i terminalen så får jag till svar att det finns 8 enheter?
Letade lite på forumet och hittade att i windows kunde man ställa om någon register-nyckel. Men det kan man ju inte göra i mac os?
Någon som vet hur man gör?
tdtool from php på Mac OS
Moderator: Telldus
Problemet som jag förstår det ligger i att om du kör det i terminalen så kör du det med din lokala användare, medans php/apache kör med användaren _www
När du installerar TelldusCenter/tdtool så installerar den bara en .plist-fil för den aktuella användaren. tdtool läser inte heller från den en global .plist om man nu kopierar/symlänkar en.
Kör du således tdtool med sudo så fungerar det inte heller:
medans min användare niclas har enheter.
Jag har mailat Telldus angående detta problem, då det är flera som har problem med detta.
/Niclas
När du installerar TelldusCenter/tdtool så installerar den bara en .plist-fil för den aktuella användaren. tdtool läser inte heller från den en global .plist om man nu kopierar/symlänkar en.
Kör du således tdtool med sudo så fungerar det inte heller:
Code: Select all
sudo tdtool --list
Open: 2 - 0
Number of devices: 0
Code: Select all
tdtool --list
Open: 2 - 0
Number of devices: 3
3 Sofflampa NEXA OFF
4 Lavalampa OFF
5 Sofflampa Kjell OFF
/Niclas
provade att installera en webbserver som jag själv startar. I det här fallet valde jag MAMP.
Startar jag den så körs den med mig själv som användare inte _www vilket borde betyda att jag skulle få tillgång till enhetslistan via tdtool.
Problemet nu är bara att med den får jag inte tillgång till tdtool alls.
Försöker jag däremot köra andra kommandon via php ("ls" etc.) fungerar det utmärkt vilket är lite lustigt? - se lösning nedan
Startar jag den så körs den med mig själv som användare inte _www vilket borde betyda att jag skulle få tillgång till enhetslistan via tdtool.
Problemet nu är bara att med den får jag inte tillgång till tdtool alls.
Försöker jag däremot köra andra kommandon via php ("ls" etc.) fungerar det utmärkt vilket är lite lustigt? - se lösning nedan
Last edited by sebastian on Mon Oct 26, 2009 1:05 pm, edited 1 time in total.
efter lite googlande hittade jag följande:
vad det gör har jag ingen aning om
Men lägger jag till det i mitt script:
och kör det via webbläsaren så fungerar det alldeles utmärkt och jag får ut en lista på mina enheter, kan tända och släcka lampor osv.
Sen hade det ju varit skönt om man kunde använda den inbyggda webbservern för att köra scripten iofs. Men det här fungerar ju bra så länge.
Code: Select all
export DYLD_LIBRARY_PATH=""
Men lägger jag till det i mitt script:
Code: Select all
echo shell_exec('export DYLD_LIBRARY_PATH=""; tdtool -l');
Sen hade det ju varit skönt om man kunde använda den inbyggda webbservern för att köra scripten iofs. Men det här fungerar ju bra så länge.
possible solution
I faced the same problem but i couldn't make your fix to work.
After some investigation i noticed that as apache runs as www -user td tool doesn't have any devices installed.
What I did was I created new user (apache) in OSX, created device in telldus center and changed apache.conf to run apache as newly created apache user.
Might not be the safest option, but it works. I'll later try to limit apache users permissions not to allow login and such.
Hope this helps.
After some investigation i noticed that as apache runs as www -user td tool doesn't have any devices installed.
What I did was I created new user (apache) in OSX, created device in telldus center and changed apache.conf to run apache as newly created apache user.
Might not be the safest option, but it works. I'll later try to limit apache users permissions not to allow login and such.
Hope this helps.