Avatar billede rubberduckone Nybegynder
11. marts 2008 - 23:00 Der er 16 kommentarer og
1 løsning

Connect fra PHP virker ikke

Hej,

Kører WinXP-SP2UK, PHP5, MySQL 5.0 Ver14.12 (5.0.22), Apache 2.2.4.

Fedter med connect i php til MySQL, men får tilsyneladende ikke
forbindelse. Virker som om PHP slet ikke genkendes/eksekveres.

1. Hvor er det lige jeg tjekker for den korrekte associering/- registrering af .php filerne?
2. Hvor er det lige php.ini skal ligge for at ligge korrekt?

Har haft en del bøvl med at få min opsætning til at virke...

Min connect ser sådan ud:

<?php

$connect=mysql_connect("localhost","root","blabla")
or die("Hey loser, Check your connections!");

mysql_select_db("TestUTF8");

...

?>
Avatar billede arne_v Ekspert
11. marts 2008 - 23:58 #1
Kan du uddybe "Virker som om PHP slet ikke genkendes/eksekveres"  ?

Hvilken fejl får du ?
Avatar billede justrace Novice
12. marts 2008 - 00:43 #2
Husk også at der på serveren skal gives tilladelse til kørsel af aktivt indhold.
Avatar billede wanthai Nybegynder
12. marts 2008 - 09:31 #3
Ser ud som det er en db connect fejl og ikke PHP.

Prøv dette link til at teste MySql:

http://forge.mysql.com/wiki/Error2003-CantConnectToMySQLServer

Havde selv problemer, hvor jeg fik en #1045 acces denied 'rro'@'localhost' (using password: NO). Efter at have kørt de på siden beskrevne tests, fandt jeg ud af at selv om du skrev f.eks. 'root' i configurationen af MySql, endte den hele tiden op med at der skulle bruges 'odbc'.

øhar endnu ikke fundet ud af hvor den fejl ligger, men får forhåbentligt snart et fif fra MySql team'et.


tage.wanthai.dk

tageV@post.cybercity.dk
Avatar billede justrace Novice
12. marts 2008 - 09:57 #4
Er godt nok helt ny indenfor linux, men har lige sat noget php op på min server, og de php-sider jeg prøvede at åbne, gjorde slet ingen ting, som du selv beskriver det. Det var serveren der blkerede for aktivt indhold som eks. CGI, PHP, SSI.
Avatar billede wanthai Nybegynder
12. marts 2008 - 10:05 #5
Glemte lige at jeg i min kommandopromt(cmd) skrev følgende. Og derefter brugte nogle af de muligheder der ligger her:
mysql> \h;

----------------

mysql> \s;
--------------
mysql  Ver 14.14 Distrib 5.1.23-rc, for Win32 (ia32)

Connection id:          45
Current database:
Current user:          ODBC@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:        5.1.23-rc-community MySQL Community Server (GPL)
Protocol version:      10
Connection:            localhost via TCP/IP
Server characterset:    latin1
Db    characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
TCP port:              3306
Uptime:                12 hours 7 min 17 sec

Threads: 1  Questions: 625  Slow queries: 0  Opens: 32  Flush tables: 1  Open ta
bles: 0  Queries per second avg: 0.14
--------------

ERROR:
No query specified
Avatar billede rubberduckone Nybegynder
12. marts 2008 - 18:12 #6
Arne: Eksekverer mit .php i firefox mod localhost - .php ekstension genkendes af browser. Html delen loader fint (blot lidt text tags i 'Hello world' stil).

Når jeg så kommer indenfor php tags'ene ser det noget mere sløjt ud.
Ikke en gang: echo 'Hej mig' synes at fungere.

Derfor går min mistanke på, at PHP ikke er registreret korrekt ellers som nogle anfører at der måske blokeres for PHP - men hvor og hvordan finder jeg ud af det?????
Avatar billede justrace Novice
12. marts 2008 - 18:25 #7
Jeg ved som sagt ikke ret meget om linux, men det er nok noget i Apache webdelen. ?  <:)
Avatar billede rubberduckone Nybegynder
12. marts 2008 - 20:33 #8
PS: Blot for at præcisere, så kører jeg Apache på WinXP.

I min apache konfig fil (httpd.conf) har jeg efter den manual jeg følger, forsøgt at tilføje nogle linjer, der gerne skulle sikre håndtering af php. Men når de er aktive kan jeg ikke starte apache. Linjerne er i kondenseret form:


# Dynamic Shared Object (DSO) Support
  LoadModule php5_module "c:/php/php5apache2.dll"

<IfModule alias_module>
  ScriptAlias /php/ "c:/php/"
  AddType application/x-httpd-php .php
  Action application/x-httpd-php "/php/php-cgi.exe"

<IfModule mime_module>
  Addtype application/x-httpd-php .php
  Addtype application/x-httpd-php-source .phps
Avatar billede rubberduckone Nybegynder
12. marts 2008 - 20:35 #9
.
Ups - se venligst bort fra ovenstående - 'Send' knappen gik af lidt for hurtigt.

Korrekt indlæg følger om lidt...
.
Avatar billede rubberduckone Nybegynder
12. marts 2008 - 20:50 #10
PS: Blot for at præcisere, så kører jeg Apache på WinXP.

Har installeret
PHP på    c:/php
Apache på  DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
MySQL på  c:/Program Files/MySQL/MySQL Server 5.0

jvf. "Where filenames are specified, you must use forward slashes instead of backslashes"

I min apache konfig fil (httpd.conf) har jeg efter den manual jeg følger, forsøgt at tilføje nogle linjer, der gerne skulle sikre håndtering af php. Men når de er aktive kan jeg ikke starte apache. Linjerne er i kondenseret form:

# Dynamic Shared Object (DSO) Support
  LoadModule php5_module "c:/php/php5apache2.dll"
# configure the path to php.ini
  PHPIniDir "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

Hverken LoadModule eller PHPinidir virker, så når de er aktive, kan jeg ikke starte apache. # dem derfor ud.


<IfModule alias_module>
  ScriptAlias /php/ "c:/php/"
  AddType application/x-httpd-php .php
  Action application/x-httpd-php "/php/php-cgi.exe"

<IfModule mime_module>
  Addtype application/x-httpd-php .php
  Addtype application/x-httpd-php-source .phps


Alias module og Mime module - jeg er ikke helt sikker på hverken hensigt eller virkemåde...??


Undskyld hvis det roder - men jeg er selv forvirret på et lidt højere plan.../ ;o)
Avatar billede justrace Novice
12. marts 2008 - 21:06 #11
Kender kun til den sidste sætning. €:)>
Avatar billede justrace Novice
12. marts 2008 - 21:08 #12
Ved bare at på min sme-server, reagerede php på den måde du beskriver, altså slet ikke, indtil jeg tillod at der køres aktivt indhold.
Avatar billede arne_v Ekspert
13. marts 2008 - 02:17 #13
Nogen fejl i access log'en ?

Jeg plejer at bruge module fremfor CGI !

Følger du PHP's install.txt slavisk ?

Inkl. noten om php5ts.dll ??
Avatar billede rubberduckone Nybegynder
14. marts 2008 - 23:21 #14
Hmm... - den her bliver sgu' lang // ;o)

Arne_v: Access log...
Ikke noget jeg bliver stort klogere af - giver det mening for dig? (har kopieret en linje for eksemplets skyld)

"localhost - - [11/Mar/2008:22:41:55 +0100] "GET /PHP_MySQL_connect.php HTTP/1.1" 200 1064"


Har nu ellers kigget i både danske og internationale forums. De er ikke lige til at blive kloge på. Problemet er at basisfilerne sættes forskelligt op og ligger i forskellige foldere... - også i det 'forfatterne' refererer til som 'basis' opsætning.
Synes dog at kunne nå frem til, at problem kernen må dreje sig om:

1. Apache konfiguration (nøgleelementer udvalgt herunder)
  - med mine nuværende settings

Servername localhost:80
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

<Directory "C:/php/">
    AllowOverride None
    Order allow,deny
    Allow from localhost
</Directory>

<IfModule mime_module>
    Addtype application/x-httpd-php .php
    Addtype application/x-httpd-php-source .phps
</IfModule>


I PHP_Install.txt står bla.:

Installing as a CGI binary.
You need to insert these three lines to your Apache httpd.conf configuration file to set up the CGI binary

<IfModule alias_module>
        ScriptAlias /php/ "c:/php/"
        AddType application/x-httpd-php .php
        Action application/x-httpd-php "/php/php-cgi.exe"
</IfModule>


Installing as an Apache module:
You need to insert these two lines to your Apache httpd.conf configuration file to set up the PHP module for Apache 2.0. For PHP 5 do something like this:"

LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

Configure the path to php.ini
PHPIniDir "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"


-- Problemet her er så bare, at når jeg enabler bare en af mulighederne fra PHP_install.txt, så nægter Apache at starte og jeg kan ikke af dokumentationen se, om den ene mulighed udelukker den anden...

PHP virker fint direkte på localhost, men min PHPinfo(); viser at php.ini søges i "C:/Windows", hvilket altså bekræfter, at PHPIniDir ikke sætter noget som helst og ikke er måden at få placeret .ini filen korrekt på. Noget andet må gælde...

Ydermere står i PHP_install.txt, at visse reg-key settings kan findes og at man af den vej kan justere konfigurationen - bla. HKLM/Software/PHP/...

- sådan nogle keys har jeg slet ikke.


Gode forslag modtages meget gerne...

..og beklager så, at vi her i MySQL forum er røget i PHP farvand. Men vi kan forhåbentlig komme retur, når forbindelsen virker og jeg får hul igennem til MySQL... // ;o)
Avatar billede wanthai Nybegynder
15. marts 2008 - 00:42 #15
Re:  men min PHPinfo(); viser at php.ini søges i "C:/Windows"

Jeg ser at du kører XP, har du været inde i ->alle pogrammer->kontrolpanel->system->avanceret->miljøvariabler, her kigger du idet nederste rude i dialogboxen efter en streng der hedder

Path>    C:\PHP\;C:\MySQL\;.........

PHPRC>    C:\PHP\

hvis disse står som ovennævnt, peger de på hvor windows skal lede efter php.ini o.s.v.

altså kan man her fortælle hvor windows skal kigge efter hvad, istedet for som førhen at kopierede de forskellige ini filer til systemmappen.
Avatar billede rubberduckone Nybegynder
26. marts 2008 - 23:34 #16
wanthai og Arne; kast et svar, i bragte mig på sporet...

Løsning blev meegeet lang.

Se tråden:  http://www.eksperten.dk/spm/824771
Avatar billede arne_v Ekspert
27. marts 2008 - 02:35 #17
ok
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
Computerworld tilbyder specialiserede kurser i database-management

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