Avatar billede mixeren Nybegynder
01. november 2003 - 01:51 Der er 17 kommentarer og
1 løsning

Mangler /usr/bin/php

Ja den er væk....

Jeg har installeret apache/php4/mysql som debianguiden foreskriver. Jeg har brug for at "aktivere" en php fil via et cronjob (rrdtool/cacti) men det vil bare ikke makke ret. :-(

I kik i /usr/bin afslørre at php slet ikke findes, det gør derimod php4. Pga. min ringe viden om debian har jeg selvfølgelig forsøgt at ændre scriptet til at bruge php4 filen stedet for,(#!/usr/bin/php -q i toppen af php filen) men uden held.

Køre jeg scriptet direkte via en browser er der ingen problemer overhovedet, altså må det være et eller andet med phpopsætningen.... men hvad?
Avatar billede erikjacobsen Ekspert
01. november 2003 - 07:16 #1
Hvad sker der hvis du kører kommandoen i en shell+
Avatar billede mixeren Nybegynder
01. november 2003 - 13:42 #2
Øhhh nu er jeg ikke riogtig klar over hvad en shell+ er, men følgende er udført fra promt.

/sti/til/fil.php
Hd. "tikker" men der sker intet. Altså ingen opdatering som man skulle forvente.

/usr/bin/php /sti/til/fil.php
Giver: Bash: /usr/bin/php No such file or dir
(Hvilket man jo også kunne forvente da filen php ikke findes.)

/usr/bin/php4 /sti/til/fil.php
Giver en "Call to undefine function"
En mysql fejl, som ligner en der ifølge cacti ( http://www.raxnet.net/products/cacti/docs/FAQ.htm (afsnit 2 general)) skulle have noget med mysql php/mysql installationen af gøre.

Alt vedrørende opsætningen af php/mysql skulle være i orden. Altså bortset fra den binære php afvikling.

I cacti's settings om php står der følgende:
PHP Binary Path The path to your PHP binary file (may require a php recompile to get this file).

Og den har fint godtaget at stien er /usr/bin/php4. Men hvor meget indflydelse den indstilling har på andet end cron afviklingen aner jeg faktisk ikke.
Avatar billede erikjacobsen Ekspert
01. november 2003 - 14:24 #3
Så skal du jo bruge
  /usr/bin/php4 /sti/til/fil.php
men hvilken funktion er udefineret? Det "plejer" at være en mysql funktion,
men så man man bare oversætte php een gang til fra deres kildetekst ;)
Avatar billede mixeren Nybegynder
01. november 2003 - 14:58 #4
Det er netop en mysql fejl:

Cacties faq siger:
Your installation of PHP does not have MySQL installed or enabled. On binary-based distributions, make sure you have the 'php-mysql' package installed. Also make sure that 'extension=mysql.so' is uncommented in your php.ini file.

Det mener jeg jo netop at jeg har gjort, netop fordi jeg har installeret php/mysql præcis som der står i debianguiden. Præcis som der står her:
http://debianguiden.dk/dists/stable/html/opsaetning-webserver.html
Har også tjekket at der ingen # er ud for 'extension=mysql.so' i php.ini.

Uha oversætte direkte fra kilden... det er ikke lige min stærke side. (En af grundene til at jeg er så glad for dist's som SuSE og Debian.)

En lille quick guide til hvordan, ville bestemt være meget kærkommen.. :-)
Avatar billede erikjacobsen Ekspert
01. november 2003 - 15:24 #5
Du har nok installeret mysql i apacheserveren, men standalone uden.
Jeg vil meget hellere selv oversætte php og bestemme hvad der skal med
i den af options.
Avatar billede mixeren Nybegynder
01. november 2003 - 15:50 #6
Jeg ville skam også gerne selv oversætte den, men det bliver frygtelig langhåret i forhold til et par simple linjer.

Jeg forstår heller ikke rigtig hvordan mysql skulle være uden (du mener vel uden php?) Nå jeg har installeret på følgende måde:
apt-get install apache php4 php4-mysql mysql-server
Avatar billede mixeren Nybegynder
01. november 2003 - 15:55 #7
Efter et kik i en alm. php info fil. Ser det nu ud til at det skulle være i orden.

I "Configure Command"
--with-mysql=shared

I det alm. mysql af snit:

MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 3.23.49
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib -lmysqlclient -L/usr/lib -z


Det er da rigtig nok ik'?
Avatar billede erikjacobsen Ekspert
01. november 2003 - 16:02 #8
Jeg kender ikke din metode - den er for langhåret for mig ;)

Jeg mener at PHP som sådan ikke behøver have noget med mysql at gøre.
Det er bare "tilfældigvis" godt til det.

Du kan opleve at PHP-en der kører via Apache er en anden end den der
kører via kommandolinien.

Så ... hvad sker der nu hos dig?
Avatar billede mixeren Nybegynder
01. november 2003 - 17:05 #9
Altså du har ikke erfaring med Debian?

Der sker sådan set ikke ret meget.. sidder lige så fast som jeg har gjort heletiden.

Hvis jeg på en promt skriver

php4 -v
Så svare den godt nok med samme versions nummer som bruges af apache. Men det er jo ikke ens betydende med at det er den samme.

skriver jeg php4 -h
Får jeg en kort list af muligheder frem, langt de fleste gør ikke andet end at fjerne # og står så og venter med en blinkende makør.... er det en shell? og hvordan afslutter man det igen?
Avatar billede erikjacobsen Ekspert
01. november 2003 - 17:10 #10
Jo jeg kører en variant af Debian. Men pakkesystemet .. nej tak ;)

Men kan du kalde mysql_connect i begge?
Avatar billede mixeren Nybegynder
01. november 2003 - 17:43 #11
I en alm. webside er der over hovedet ingen problemer.

Hvordan jeg skal gøre det fra en promt aner jeg intet om... Virke måden uden om websider fatter jeg jævnfør min kommentar 17.05 ikke ret meget af.

Jeg kan nemt skrive php4 i en promt, men hvad gør jeg så?
Avatar billede erikjacobsen Ekspert
01. november 2003 - 19:00 #12
php4 etscriptderbrugermysql.php
Avatar billede mixeren Nybegynder
01. november 2003 - 22:57 #13
Så kan du godt smide et svar... :-)

Et simpelt script, aktiveret fra promt, gav præcis samme fejl. Jeg kunne jo lige så godt foretage mig noget fornuftig mens der ingen kontakt var til eksperten.dk så jeg gav mig til at kikke i php.ini. Eller det vil sige, da jeg skulle til at åbne den opdagede jeg en mappe med navnet cgi.... også var det jeg kom til at tænke på hvad du havde sagt, med flere "udgaver" af php. Ganske rigtig i mappe lå endnu en php.ini fil, som jo altså er til brug ved bla. cron. I den var mysql slået fra.

Mange tak for hjælpen.. :-)
Avatar billede erikjacobsen Ekspert
01. november 2003 - 23:05 #14
Det er selvfølgelig også en forklaring. Jeg plejer at compile de
ting ind, der nu skal være, hellere end at "krydse dem af" i php.ini
og loade dem dynamisk. Men principielt er det jo det samme.

Ja, eksperten.dk var nede. Tænk engang - jeg var nødt til at se
fjernsyn en lørdag aften ...              (just joking)
Avatar billede erikjacobsen Ekspert
01. november 2003 - 23:28 #15
Tnx - jeg kom til at læse hvad vi skrev.
Min "shell+" var bare en "shell?" - altså bare et spørgsmål.
"?" og "+" sidder foruroligende tæt på hinanden ...
Avatar billede mixeren Nybegynder
01. november 2003 - 23:39 #16
Om det er et + eller ej... jeg ved alligevel ikke hvad en shell er. Er det bare en promt?

Når jeg fumler for meget rundt oplever jeg stadig at jeg får trykket på noget sådan at den alm. promt forsvinder, f.eks hvis jeg bare skriver php4. Så sidder jeg der og kan godt skrive men der sker intet.... er det det som er en shell?
Avatar billede erikjacobsen Ekspert
01. november 2003 - 23:45 #17
Ja, en shell er en prompt. Skriver du php eller php4 forventer den
input - et php-program. Prøv at skrive php eller php4 på en linie,
tryk retur, og så skriv denne linie

<? phpinfo(); ?>

og tryk derefter Ctrl-D (der er som en end-of-file)
Avatar billede mixeren Nybegynder
01. november 2003 - 23:51 #18
Takker... så er jeg fri for at reboote når jeg får forvildet mig ind i sådan en. Jojo den spytter skam fint filen ud incl. alle htmlkoderne.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester