Mssql + php távoli elérése
2012-12-17T23:45:48+01:00
2012-12-18T17:14:25+01:00
2022-08-17T02:20:35+02:00
nemesis999
Sziasztok!

A problémám a következő:
Feltelepítettem egy microsoft sql server 2008 r2 express-t!

Mellé feltettem egy xammpot és beállítottam ugye hogy kezelje a php az mssql-t is.

A probléma ott kezdődik hogy amit készítettem regisztrációs php fájl csak akkor működök ha router IP címet adok meg neki:
192.168.1.100

Szeretném ha mások is eltudnák érni az oldalam de rendes IP címmel ezt írja ki:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: weboldalamIPcíme in C:\xampp\htdocs\register.php on line 25
Cannot connect to the MSSQL server.


Átrágtam már az egész internetet de nem találtam megoldást.

Amit még tudni kell:
Tűzfal kikapcsolva a port miatt
TCP/IP beállítva-engedélyezve

Előre is köszönöm ha valaki tud segíteni :)
Mutasd a teljes hozzászólást!
Minek kéne próbálkozni távoli gépről, ha a php mindig helyileg csatlakozik? A probléma nem a távoli csatlakozással van, hanem azzal, hogy a php helyileg nem tud az ms sql-hez csatlakozni. valszeg rossz konfiguráció miatt.

@nemesis999:

1. teljesen ugyanaz a hibaüzenet, amit az mssql_connect() ad (Unable to connect to server:)?
2. Ha igen, akkor megnézted, hogy engedélyezve van az, hogy tcp/ip-vel kapcsolódj az ms sql szerverhez?
3. A php.net-en az mssql_connect()-nél elolvastad a felhasználói hozzászólásokat és az abban említett hibaüzeneteket / hibajelenségeket javító megoldásokat kipróbáltad?
Mutasd a teljes hozzászólást!

  • Én anno az easyphp szoftvert telepítettem fel, szóval ilyen xamp cuccosokban nekem az easyphp jött be. Nem próbálod ki azt, hátha jó.
    Mutasd a teljes hozzászólást!
  • sajnos úgy sem jó

    Fatal error: Call to undefined function mssql_connect() in C:\Program Files\EasyPHP-12.1\www\register.php on line 25

    az a sejtésem a sql beállításnál lesz a hiba csak sejtelmem sincs hogy abba mi...

    router IP címén rendesen bejön az oldal , működik a regisztráció is de a rendes IP nél behisztizik

    Azért köszi a tippet!

    UI.:azért se értem mert PL Navicat rá csatlakozik valós IP címmel az adatbázisra...
    Mutasd a teljes hozzászólást!
  • Feltelepítettem egy microsoft sql server 2008 r2 express-t!

    Mellé feltettem egy xammpot és beállítottam ugye hogy kezelje a php az mssql-t is.


    vs

    Mssql + php távoli elérése


    Most akkor egy gépen van a php+ms sql vagy nem?

    A probléma ott kezdődik hogy amit készítettem regisztrációs php fájl csak akkor működök ha router IP címet adok meg neki:
    192.168.1.100


    Ha működik, akkor mi a gond?

    Mi lenne, ha normálisan leírnád a problémát, mert ilyen egymásnak ellentmondó félinformációk alapján lehetetlen megmondani, hogy mi is lehet a probléma!

    Tehát: Hol fut a php? Hol fut az MS SQL? A kettő egy alhálózaton van? Hol fut a Navicat? Mit értesz "rendes IP cím" alatt? A router IP cím alatt a routered belső IP címét érted?

    Mondjuk ez sokkal inkább üzemeltetési és nem programozási problémának tűnik...


    Fatal error: Call to undefined function mssql_connect()


    Ehhez meg engedélyezni kéne az ms sql-hez tartozó kiterjesztést a php.ini-ben.
    Mutasd a teljes hozzászólást!
  • ms sql, navicat és a php igen a saját gépemen fut.
    a rendes IP cím alatt az internet szolgáltatótól kapott IP címet értem

    azért gond hogy a router IP én működik mert azon keresztül mások nem érik el az oldalt.

    igen a router belső IP címére gondolok

    Lényegében annyit szeretnék elérni hogy az elkészített regisztrációs oldalam ami mssql adatbázist használ mások is eltudják érni ne csak én Localhoston.

    php.ini mint említettem be van állítva különben belső IP én se működne :)

    Mutasd a teljes hozzászólást!
  • Akkor gondold csak végig a dolgot! Az ms sql a php szempontjából miért távoli szerver, ha ugyanott futnak? A helyzet az, hogy az ms sql nem távoli szerver, hanem a localhost. Naná, hogy nem tudsz a router-ed külső IP címével kapcsolódni rá php-ból. De teljesen felesleges is lenne, még ha meg is tudnád oldani!

    Belülről nem is tudod elérni a webszerveredet külső IP címmel, ezt kívülről kell tesztelned.
    Mutasd a teljes hozzászólást!
  • A helyzet az, hogy az ms sql nem távoli szerver, hanem a localhost.

    És ezen hogyan lehetne segíteni?Mivel valahogy jó lenne ha mások is eltudnák érni az oldalam.

    Az olvastam hogy ha engedélyezem a TCP/IP portokat és tűzfalon is átengedem az elég de nem volt az sajnos...

    Elnézést ha homályos vagyok de eddig csak mysql adatbázissal foglalkoztam és annál nem voltak ilyesfajta problémák...
    MSSQL területen még nagyon új vagyok és nagyon kifogott rajtam :)
    Mutasd a teljes hozzászólást!
  • A helyzet az, hogy az ms sql nem távoli szerver, hanem a localhost.


    De hát pont ezt írtam én is!!! De a nyitó hozzászólásodban azt írtad, hogy a külsp IP címet adtad meg az mssql_connect()-ben, miközben localhost-ra kéne csak csatlakoznod. Módosítsad a az mssql_connect()-et, hogy a helyi gépre csatlakozzon, ne a külső IP címet add meg neki paraméterként!!!!!!!!

    Tök mindegy,hogy milyen adatbázist használsz, az nem lényeges az oldal távoli elérése szempontjából!

    Mutasd a teljes hozzászólást!
  • köszi a tippet de úgy se jó :S

    megadtam neki :

    <computer name>\SQLEXPRESS

    De úgy se csatlakozik fel!

    php.ini ben a következőket engedélyeztem ill módosítottam:

    extension=php_mssql.dll
    extension=php_pdo_mssql.dll
    mssql.allow_persistent = On

    Nem hiszem hogy a php konfigurációjával lenne a probléma mert belső IP én elérhető az oldal szépen rá is csatlakozik az adatbázisra a regisztrációs php fájlom, és be is viszi az adatokat.

    Mutasd a teljes hozzászólást!
  • 1. Bocsi, jól értem, hogy van egy géped amit server-ként szeretnél üzemeltetni, hogy mások is elérhessék az adatbázisod?
    2. Jelenleg minden egy gépen van, s a tesztelést is a server-en végzed?
    3. Nincs egy plusz gép amivel a távoli elérést vizsgálhatnád?
    Mutasd a teljes hozzászólást!
  • igen minden a saját gépemen van.

    a saját gépemen futtatom a web servert és a sql 2008 adatbázist

    van még itthon még egy számítógép de ugyan az a hiba jelentkezik
    nem csatlakozik a php fájl az adatbázishoz:
    php kód:


    ##Configuration## $mssql_server = "USER-PC\SQLEXPRESS"; $mssql_username = "sa"; $mssql_password = "jelszo"; $mssql_account_db = "TGLOBAL_GSP"; $mssql_character_01_db = "CHARACTER_01_DBF"; $mssql_account_table = "TACCOUNT"; $mssql_username_column = "szUSerID"; $mssql_password_column = "szPasswd"; ##MSSQL Connect Function## function mssql_connect_ini($mssql_server,$mssql_username,$mssql_password) { $mssql_connect = mssql_connect($mssql_server, $mssql_username, $mssql_password) or die ("<strong>Cannot connect to the MSSQL server.</strong>"); if ((strlen($mssql_server) == 0) || (strlen($mssql_username) == 0) || (strlen($mssql_password) == 0)) { echo "<strong>The connection configuration settings are invalid. Please make sure you've entered them in correctly.</strong>"; } }
    Mutasd a teljes hozzászólást!
  • Amit még tudni kell:
    Tűzfal kikapcsolva a port miatt

    Butaság.
    Állítsd be a portra az engedélyt, mert a kikapcsolás nem old meg semmit.
    Milyen op.rendszer van a server-en?

    Más.

    Próbálkozz tán előbb egy sima UDL-lel (a távoli gépen), ha az sem megy , akkor nem a php-ben van a hiba:
    How to Create a SQL Connection String for an Application (UDL File)
    vagy
    Remote SQL Server 2008 R2 connection error

    .
    The easiest way to do this is to open notepad and create an empty file, then rename .txt as .udl and double click.
    .
    .

    Létrehozol egy üres txt kiterjesztésű file-t, nevezd át udl kiterjesztésre, s duplakatt a nevére.
    A többi már megy..
    Mutasd a teljes hozzászólást!
  • win 7 en van de próbáltam xp én is ugyan azzal az eredménnyel zárult
    a tűzfalat csak lustaságból kapcsoltam ki de utólag engedélyeztem is a 1433 as portot...

    Megcsináltam az udl fájlt de nem tudom minek kéne történnie :)
    azt írta a kapcsolat sikeres.
    Egyetlen furcsa dolog volt hogy a kiszolgáló névnél nem volt semmi
    manuálisan,kézzel írtam be a gépem\SQLEXPRESS nevét...

    Mutasd a teljes hozzászólást!
  • Minek kéne próbálkozni távoli gépről, ha a php mindig helyileg csatlakozik? A probléma nem a távoli csatlakozással van, hanem azzal, hogy a php helyileg nem tud az ms sql-hez csatlakozni. valszeg rossz konfiguráció miatt.

    @nemesis999:

    1. teljesen ugyanaz a hibaüzenet, amit az mssql_connect() ad (Unable to connect to server:)?
    2. Ha igen, akkor megnézted, hogy engedélyezve van az, hogy tcp/ip-vel kapcsolódj az ms sql szerverhez?
    3. A php.net-en az mssql_connect()-nél elolvastad a felhasználói hozzászólásokat és az abban említett hibaüzeneteket / hibajelenségeket javító megoldásokat kipróbáltad?
    Mutasd a teljes hozzászólást!
  • Bocsi, desktop-os megoldásban gondolkodtam s nem web-esben.
    (lokális rendszer - progi telepítve minden gépre).

    nemesis999:
    Árnyék ajánlása..(mssql_connect - Open MS SQL server connection)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd