dX Posted August 24, 2008 Share Posted August 24, 2008 Не разбирам защо сравнявате скриптов език със такъв който се компилира, например Java. Аз лично до ден днешен не съм чувал за уебсайт писан изцяло на Java - може би съм назад с материала Но трябва да призная, че за едно нещо сте прави - слабото типизиране на езика дава свобода, с която доста хора наричащи себе си програмисти злоупотребяват и започват да пишат неподреден, неугледен и труден за поддържане и разбиране код. Не съм съгласен все още със твърдението, че е непосилна задача да се пишат сложни/сериозни проекти на PHP. @tedy, относно .NET framework-а и различните PHP frameworks мисля че се подразбира, че ако работиш например само със Zend Framework за PHP - ти ще разбираш и ще можеш да работиш със проекти писани на него със същото удобство с което работиш с други проекти писани на .NET. Бъгчето което си намерил със foreach() е интересно, на мен не ми се е случвало, може би защото главно работя със индексирани масиви и не ми се е налагало да проверявам от какъв тип ми е индекса, защото е зададен като стринг при самата дефиниция на масива. Интересното е, че явно не са го репортнали като бъг, защото на моето PHP 5.2.5 въпросния бъг го има и следния код работи точно както ти спомена: $masiv = array('0' => '1', '1' => '2'); foreach ($masiv as $k=>$v) { var_dump($k,$v); echo "<br>\n"; } Резултата е: int(0) string(1) "1" int(1) string(1) "2" Докато би следвало да е: string(1) "0" string(1) "1" string(1) "1" string(1) "2" @djadomraz, не ти разбрах въпроса? Какво имаш в предвид под 'backend написан на C++'? Административна ареа на уеб сайт за онлайн търговия или на форум написан на C++ не съм чувал Link to comment Share on other sites More sharing options...
tedy Posted August 24, 2008 Share Posted August 24, 2008 Ами и на мен ми се случи за пръв път, и бих казал, че няколко часа търсех проблема, без изобщо да съм предполагал, че ще е точно там . Още съм с 5.2.0. Явно няма и да го оправят, все ми е едно. Щом го знам, поне за в бъдеще ще внимавам, то доста станаха нещата, за които трябва да внимава човек, но и затова е опитът де. Дядомраз имаше предвид нещо, за което стана дума мисля по-напред в темата, за Google или Yahoo, забравих вече. Ако Google ползват PHP, то то едва ли е за цялата си система. В смисъл самото търсене в базите, управлението им (логиката) и т.н. вероятно са писани на С. Т.е. не става дума за админ ареа или подобно. Един вид скриптовете отзад си вършат работата с извикване на С модули или нещо такова. Едва ли разчитат на PHP за тежката работа. Не разбирам защо сравнявате скриптов език със такъв който се компилира, например Java. Аз лично до ден днешен не съм чувал за уебсайт писан изцяло на Java - може би съм назад с материала biggrin1.gif Това не го разбрах. Сайтът, освен с Джава, ще има и HTML, CSS и т.н. Това се подразбира. За интерфейса. Останалото може да си е само Java, както и само PHP. Аз лично не съм твърдял, че е непосилна задача (е, може да съм подхвърлил преди, но съм се поправил) за големи проекти с php. Просто предвид всички недостатъци, е далеч по-разхвърляно и трудно да се управлява с него подобно нещо. Сега въвеждат namespaces, класовете още не са това което трябва да са и т.н. Link to comment Share on other sites More sharing options...
mIRCata Posted September 18, 2008 Share Posted September 18, 2008 Един въпрос малко в страни, ама все пак е за php. Въпроса ми е какво аджеба трябва да пипна в php.ini за да тръгне поддръжката на mysql 5? Версиите и на двете са свалени днес. Апачето е 2.2, php-то върви, пуснах си поддръжка за Interbase, но за Mysql не ще да захапе. Откоментирал съм и двата реда : extension=php_mysql.dll extension=php_mysqli.dll, копирал съм библиотеката на Mysql в директорията на php, и не ще. А IB тръгна без проблем Edit Трябвало да копирам libmysql.dll в windows папката. А аз се счупих да тествам всякакви варианти и прочие Link to comment Share on other sites More sharing options...
tedy Posted September 18, 2008 Share Posted September 18, 2008 Нищо не копираш в windows папката. Отдавна вече не се препоръчва да се копира нещо някъде извън пхп директориите. Прочети хубаво install.txt на PHP дистрибуцията, в която даже си влиза libmysql.dll библиотеката. Сетваш 1-2 environment variables w windows, и правилно всичко в php.ini, друго не ти трябва Link to comment Share on other sites More sharing options...
mIRCata Posted September 18, 2008 Share Posted September 18, 2008 Само така тръгва. И пътя до рнр директорията съм задал в path на windows, и пробвах да копирам libmysql.dll при php_mysql.dll в ext директорията и обратно да сложа php_mysql.dll в основната на рнр - неще. Само ако копирам libmysql.dll в windows-а тръгва :ph34r: И на мен ми е странно това с копирането, защото досега не помня да съм го правил така. Самото php го слагам от архива, който им е на сайта, не използвам инсталатор. Link to comment Share on other sites More sharing options...
tedy Posted September 18, 2008 Share Posted September 18, 2008 При мен последните 2 години като съм слагал разни версии, вече не съм копирал нищо никъде и винаги работи отлично и от раз. Самата дистрибуция си съдържа в пхп директорията libmyqsl-a. Последно сега съм с 5.2.6. Но го ползвам само с IIS от години. Като FastCGI последно. Преди беше като модул. Обаче не вярвам за Apache да има някакви различни инструкции в това отношение, все пак не съм чел детайлно инсталацията за Apache. Нещо някъде бъркаш, някоя тъпа грешка, която ти убягва някъде. Link to comment Share on other sites More sharing options...
mIRCata Posted September 18, 2008 Share Posted September 18, 2008 Apache 2.2.9 openssl Настройките за рнр в него са: PHPIniDir "d:/web/php5" LoadFile "d:/web/php5/php5ts.dll" LoadModule php5_module d:/web/php5/php5apache2_2.dll ..... <IfModule dir_module> DirectoryIndex index.php DirectoryIndex index.htm DirectoryIndex index.html DirectoryIndex default.php DirectoryIndex default.htm DirectoryIndex default.htm </IfModule> .... ScriptAlias /php/ "d:/web/php5/" .... Action application/x-httpd-php /php/php-cgi.exe ... <IfModule mod_mime.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule> в php.ini [code]extension_dir = "D:\Web\php5\ext"....extension=php_mysql.dllextension=php_interbase.dll[/code] В windows на path съм добавил d:\web\php; Сега си направих един тест - преименувах dll файловете в windows\system32 на firebird и след рестарт на Apache-то нито едното нито другото се появява. Тръгват само ако dll файловете им са в windows Иначе Apache си работи с рнр, само дето самото рнр неще да сработи с базите данните. Link to comment Share on other sites More sharing options...
karaman Posted September 18, 2008 Share Posted September 18, 2008 едно време се налагаше да се копира един phpts.dll или нещо подобно в c:/windows/system{,32} иначе се зарежда само LoadModule php5_module /path/to/dll/php5apache2_2.dll прочети внимателно install.txt стъпка по стъпка! Link to comment Share on other sites More sharing options...
mIRCata Posted September 18, 2008 Share Posted September 18, 2008 ама на мен apache + php ми върви! PHP-то не ще да захапе поддръжката на Mysql и Interbase/Firebird ако не копирам libmysql и gds32/fbclient dll-тата в windows-а. Липсва ми функционалността (освен ако не ги сложа там де) за връзка с базите данни. При мен излезе, че в момента тръгват само ако разхвърлям съответните dll-ta по папките на win-a. Link to comment Share on other sites More sharing options...
tedy Posted September 18, 2008 Share Posted September 18, 2008 ....В windows на path съм добавил d:\web\php; ... Я пак погледни какво си добавил в path ПХП-то не беше ли в D:\web\php5? Поне според това, което си показал в кода по-горе. Link to comment Share on other sites More sharing options...
djadomraz Posted September 18, 2008 Author Share Posted September 18, 2008 Тъй и тъй си тръгнал да гледаш - провери и directory security-то на въпросните директории за да не би да са ограничени някак user-ите които имат права да "гледат" какво има вътре. Link to comment Share on other sites More sharing options...
mIRCata Posted September 19, 2008 Share Posted September 19, 2008 @Теди пътя е php5 - грешно съм го написал в горния пост. @Дядо Мраз - компютъра го използвам само аз - не съм слагал ограничения по групи, потребители или други неща. При вас в windows или system32 нямате ли сложено копие на libmysql? Т.е върви си и без да копирате нещо някъде? Да не би ако сте използвали някой инсталатор, да ви е шибнал файла там без ваше знание? Edit: Друго решение изскочи с копирането на libmysql.dll в bin папката на Apache-то,вместо в windows. Link to comment Share on other sites More sharing options...
tedy Posted September 19, 2008 Share Posted September 19, 2008 Никога не съм ползвал инсталатори за PHP. Не съм и копирал нищо никъде. Но както казах, ползвам го само с IIS, Apache не ща да чуя вече под Windows. Дори на dedicated сървъра, който скоро правихме, сложихме Lighttpd. Но тва под Gentoo, както и да е. Виж пак прословутия path дали си го сетнал в System variables, a ne w User. Рестартира ли компа за всеки случай? И все пак каква грешка дава иначе, виж логовете на php-то. С Apache нe знам, погледнах в install.txt, но не видях нещо по-различно като изисквания. Ако пък работи така, остави го и не го бутай повече. Можеш да се опиташ да ползваш IIS, аз с Apache pod Win съм имал само проблеми. Link to comment Share on other sites More sharing options...
djadomraz Posted September 19, 2008 Author Share Posted September 19, 2008 @Дядо Мраз - компютъра го използвам само аз - не съм слагал ограничения по групи, потребители или други неща. Ти не си но понякога се случва - разархивирам нещо в root-a на диска с WinRAR и изненада - за въпросната директория права има само usera с който работя в момента.... Та като ти казвам да провериш не е колкото да си почеша пръстите в клавиатурата... Link to comment Share on other sites More sharing options...
mIRCata Posted September 20, 2008 Share Posted September 20, 2008 След като пуснах използване на разширените настройки за сигурността в Windows-a правата към администраторите(мен) бяха пълни, към създателя имаше право да чете - дадох пълен достъп - да модифицира и т.н права върху папката и пак не ще. Това след рестарти и т.н Майната му - оставям го с dll-a в дир-а на апача. Така поне работи, пък и това не е върху машина, която ще се използва от друг или от вън. Важното е да върви. Link to comment Share on other sites More sharing options...
ShitHappen Posted October 25, 2008 Share Posted October 25, 2008 Здравейте на всички , вчера по време на работа ми се случи нещо доста интересно . Трябваше с DOMDocument да обираме контента на дадени уеб страници , интересното стана когато трябваше да съберем неща от български страници , съответно си зададохме в конструктора ,че искаме документа да се енкодва с utf8 . Да , но когато направих var_dump на DOMDocument::loadHTML() метода заедно с контента в него , се оказа ,че всичко е на маймунки . Интересното е ,че когато сложих мета тага за charset на първо място всичко тръгна перфектно , разместят ли се нещата и става омазвация . Помотах се 10-15 мин и разгледах в php.net коментарите , там се оказа ,че има решение за проблема и той се нарича mb_convert_encoding , от което се появиха още неприятности ,но това за момента няма значение . Та ,ако ви се случи подобно нещо имаите впредвид този факт ( за момента не е fix-нато ) . Поздрави. Link to comment Share on other sites More sharing options...
ShitHappen Posted October 26, 2008 Share Posted October 26, 2008 Здравейте , имам едно въпросче . Знаете ли дали когато се ползва memcache има значение скоростта на рам паметта или значение има само обема й ? Поздрави. Link to comment Share on other sites More sharing options...
tedy Posted October 26, 2008 Share Posted October 26, 2008 Като всеки кеш, и тук е същото. Кеш по принцип се прави заради едно нещо: Скоростта на кеша е по-голяма от тази на това, от което се кешира. В този смисъл е излишно да казваме, че скоростта на паметта е важна . А големината ѝ допринася за повече кеширани данни, и в зависимост от общия постигнат КПД (или hitrate), увеличаването ѝ не довежда до особен прираст в производителността. Това само с проба може да се определи за съответното приложение. Освен това виж дали и query_cache-то на mysql-а е включено с достатъчна големина. На един наш сървър примерно, с busy сайт (скоро ще станат 3 такива сайта), съм дал 32 МБ query cache, и изненадващо, към 46% hitrate имам. Увеличавайки го, не видях промяна. Link to comment Share on other sites More sharing options...
ShitHappen Posted October 26, 2008 Share Posted October 26, 2008 Мда , това с query_cache-a е добър hint , мерси за отговора . Link to comment Share on other sites More sharing options...
ShitHappen Posted November 5, 2008 Share Posted November 5, 2008 PHPUnit , днес четох доста по въпроса и все пак оставам със смесени чувства ( най-вече заради различните мнения ) и , тъй като е интегриран framework в Zend Studio For Eclipse останах очарован от начина по който написва всичкия код който трябва да се пише ( в противен случай ) на ръка . Въпроса ми е дали някой е интегрирал такъв ( или подобен примерно JUnit) framework във всекидневния процес на работа ? Напоследък ми се случи доста често да получавам неправилни резултати поради непълни тестове на даден алгоритъм , особено интересно става когато напишеш ( допълниш ) нещо ново и незнаеш дали всичко ще остане както трябва . Мнения по въпроса ? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.