Jump to content
php.lv forumi
CrossUp

Problēma uzstādoties uz servera.

Recommended Posts

Sveiki, pabeidzu to sabu sviestaino projektu, radās nepieciešamība uzstādīties uz servera. Iegādājos area-it hostingu, kur man atsūtīja cpanel uc. pieejas datus (par pašu serveri nezinu pilnīgi neko). Domēns man bija jau sen un katru gadu par viņu maksāju. Augšupielādēju failus @public_html mapes, izveidoju db user, importēju datubāzes, samainīju datubāzes pieejas datus @ application/config/development un production (strādāju codeigniter framework). .htaccess neesmu mainījis jo neiznu kas un vai tur ir jāmaina. Cenšoties aplūkot guvumu ieraugu baltu lapu, ievadot kādu nepareizu linku izmet error500, cenšoties tikt pašrocīgi pie kāda kontroliera izmet directory access forbidden, ilgi meklēju kļūdu paziņojumus kādos log failos līdz ieraudzīju šo:

[15-May-2014 12:30:46 Europe/Riga] PHP Fatal error:  Class 'Frontend_Controller' not found in /home/mans_domens/public_html/application/controllers/page.php on line 2

tā rindiņa ir šāda:

class Page extends Frontend_Controller {

izmantoju arī, manuprāt, pareizu autoload funkciju:

function __autoload($classname){
    if(strpos($classname, 'CI_') !== 0){
        $file = APPPATH . 'libraries/' . $classname . '.php';
        if(file_exists($file) && is_file($file)){
            @include_once($file);
        }
    }
}

Vairs man ideju nav, kas varētu saistīt to kontrolieri ar klasi.

Un ja kāds zina kur ir vaina, lūdzu pasakiet kāpēc uz wamp nav problēmu, bet šeit ir, pašu kodu es ne pa gramu neesmu samainījis.

Ar serveriem un cpanel esmu uz "eu !", ja saprotat ko es ar to domāju.

Edited by CrossUp

Share this post


Link to post
Share on other sites

1. spl_autoload_register. Use it.

2. kāds ir APPPATH?

3. include_once nav funkcija. Un vispār, autoloaderim nav vajadzīgs "_once", katrai klasei tas tiks izsaukts tikai vienu reizi.

 

Es gan nesaprotu, kāpēc lai tev kontrolieris būtu iekš /libraries/...

Edited by jurchiks

Share this post


Link to post
Share on other sites

Nu a Tu nočekoji vai path uz libraries ir īstais vispār? 

Jep tev taisnība, palaboju kodu:

function __autoload($classname){
    if(strpos($classname, 'CI_') !== 0){
        $file = APPPATH . 'libraries/' . $classname . '.php';
        if(file_exists($file)){
            echo "fails";
        }else{ echo "nav fails";}
        if(is_file($file)){
            echo " ir";
        }else{ echo " nav";} 
        var_dump($file);
        if(file_exists($file) && is_file($file)){
            @include_once($file);
        }
    }
}

man parādīja: nav fails nav string(45) "application/libraries/Frontend_Controller.php"

uz virtuālās mašīnas: fails ir string 'application/libraries/Frontend_Controller.php' (length=45)

 

Ja APPATH neatrada default servera ceļu (tas pats ar base_url()), kā man viņu uzsetot savādāk? varu jau it kā ar roku, bet vai tas būtu labs risinājums ?

 

Varbūt esmu nepareizi failus uzstādījis uz servera? Ja man uz wamp faili stāvēja: C:\wamp\www\projekts un viss ir kā vajag, uz servera liku failus mapē public_html un nevis mapi projekts, bet tās saturu (mapi application, css, js, system (priekš FW) u.t.t.)

Edited by CrossUp

Share this post


Link to post
Share on other sites

Kaut kas ar tiem pathiem tev tur viennozīmīgi nav kārtībā. Kāpēc vispār APPPATH ir pliks foldera nosaukums, nevis absolūtais path uz to application folderi?

Vispār normālā freimworkā kaut kur vajadzētu būt definētam ROOT_DIR (or smth like that), kas ir absolūts paths, pret kuru atsienās VISI pārējie pathi.

Edited by jurchiks

Share this post


Link to post
Share on other sites

Iespējams case sensivity problēma. Uz win ir ci, ut linux cs fs.

Share this post


Link to post
Share on other sites

> Uz win ir ci, ut linux cs fs.

 

Gandrīz esi izdomājis savu kripto algoritmu.

Share this post


Link to post
Share on other sites

Iespējams case sensivity problēma. Uz win ir ci, ut linux cs fs.

Jā, tas bija case sensitivity dēļ, tagad izlaboju to kontroliera nosaukumu un atrod, bet parādījās nākamā aizķeršanās: visu laiku met 404, nekur nevaru atrast errorlog (nevienā no esošajām errorlog vietā nav jaunu ierakstu). Ar roku var rakstīt/nerakstīt citus kontrolierus - nekā.

 

P.S. ar roku ja tiek līdz login formai (admin pusē, useriem login formas nav (citi kontrolieri utt.)), formas page source aplūkojot pilnīgi visi js, css faili tiek inklūdoti un strādā kā uz wampa, ir iespējams formu aizpildīt, bet nosūtot atkal baltā lapa (nav vairs 404) un errous atkal vairs neuzrāda.

Edited by CrossUp

Share this post


Link to post
Share on other sites

> Uz win ir ci, ut linux cs fs.

 

Gandrīz esi izdomājis savu kripto algoritmu.

 

algoritms tika uzlauzts :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...