new_black_scholes.php is now working but I found a bug in IE8 I deleted all history but had to reboot to completely clear all files hidden in history temp files first I had to : (not sure if this did it! IIS: properties->home directory->configuration C:\PHP\php5isapi.dll with GET,HOST,POST,DEBUG changed to: IIS: properties->home directory->configuration C:\PHP\php5isapi.dll with ALL --- On Wed, 9/2/09, Fred Silsbee <fredsilsbee@xxxxxxxxx> wrote: > From: Fred Silsbee <fredsilsbee@xxxxxxxxx> > Subject: I retreated to 5.2.6 where everything worked for months...HELP! > To: php-windows@xxxxxxxxxxxxx > Date: Wednesday, September 2, 2009, 2:59 AM > I tried 5.3 and found out it had no > php_mssql. > Then I retreated to 5.2.10. > > Trying to get back to where I had everything worked, I > downloaded 5.2.6: > (1) I uninstalled cgi 1.5 > (2) php.ini has: > > extension_dir = "C:\PHP\ext" > ; doc_root = "C:\inetpub\wwwroot" > commented out > doc_root = > > ALL extensions are uncommented > > I only need: > extension=php_mssql.dll > > ; **You CAN safely turn this off for IIS, in fact, you > MUST.** > cgi.force_redirect = 0 > > ntwdblib and php.ini moved to > C:\WINDOWS > C:\WINDOWS\system > C:\WINDOWS\system32 > > IIS: properties->home > directory->configuration C:\PHP\php5isapi.dll > with GET,HOST,POST,DEBUG > > I also tried: > php5ts.dll > phpnsapi.dll > only php5isapi.dll seemed to work! > added to XP Prof SP3 path: ;C:\PHP;C:\PHP\ext > > also created (just in case) PHPRC environment variable > (alongside path) > containing C:\PHP;C:\PHP\ext > > I gave IUSR_LANDON all powers > > ________________________________________results > this works:http://207.254.225.224:8080/phpinfo.php > > http://207.254.225.224:8080/new_black_scholes.php > initial display works until I select "DEMO"...then: > > The page cannot be displayed > There is a problem with a program on the page you are > trying to reach, and the page cannot be displayed. > > Here is new_black_scholes.php > <?php > define( "ITMAX",100); > define( "EPS",3.0e-7); > // If the submit button has been pressed > $StockPrice = $ExercisePrice = $RiskFreeRateInterest > = $InstantaneousVarianceRateStocksReturn = ""; > $TimetoExpirationOption = $ValueCallOption = > $ValuePutOption = $DeltaCalls = $DeltaPuts = ""; > > if (isset($_POST['reset'])) > { > > $m_s = 100.; > $m_e = 100.; > $m_rf = .12; > $m_sigma = .1; > $m_time = 365.; > Black_Scholes_Main($m_s, $m_e, $m_rf, > $m_sigma,$m_time, $m_c, $m_p, $m_deltacalls, $m_deltaputs); > $StockPrice = $m_s; > $ExercisePrice = $m_e; > $RiskFreeRateInterest = $m_rf; > $InstantaneousVarianceRateStocksReturn = $m_sigma; > $TimetoExpirationOption = $m_time; > $ValueCallOption = $m_c; > $ValuePutOption = $m_p; > $DeltaCalls = $m_deltacalls; > $DeltaPuts = $m_deltaputs; > } > elseif (isset($_POST['submit'])) > { > $m_s = $_POST['StockPrice']; > $m_e = $_POST['ExercisePrice']; > $m_rf = $_POST['RiskFreeRateInterest']; > $m_sigma = > $_POST['InstantaneousVarianceRateStocksReturn']; > $m_time = $_POST['TimetoExpirationOption']; > Black_Scholes_Main($m_s, $m_e, $m_rf, > $m_sigma,$m_time, $m_c, $m_p, $m_deltacalls, $m_deltaputs); > $StockPrice = $m_s; > $ExercisePrice = $m_e; > $RiskFreeRateInterest = $m_rf; > $InstantaneousVarianceRateStocksReturn = $m_sigma; > $TimetoExpirationOption = $m_time; > $ValueCallOption = $m_c; > $ValuePutOption = $m_p; > $DeltaCalls = $m_deltacalls; > $DeltaPuts = $m_deltaputs; > } > function Black_Scholes_Main($m_s, $m_e, $m_rf, $m_sigma, > $m_time, &$m_c, &$m_p, &$m_deltacalls, > &$m_deltaputs) { > $m_c = black_scholes($m_s, $m_e, $m_rf, > $m_sigma, $m_time/365., $nd1, $nd2); > $m_p = $m_e / pow(1.+$m_rf, $m_time/365.) - > $m_s + $m_c; > $m_deltacalls = $nd1; > $m_deltaputs = $nd1 - 1.; > } > function black_scholes( $s, $e, $rf, $sigma, $time, > &$nd1, &$nd2) { > $num = > log($s/$e)+$time*($rf+.5*$sigma*$sigma); > $d1 = $num/($sigma*sqrt($time)); > $d2 = $d1 - $sigma*sqrt($time); > $c = $s*myerf($d1) - $e * myerf($d2) * > exp(-$rf*$time); > $nd1 = myerf($d1); > $nd2 = myerf($d2); > > return $c; > } > function gammln($xx) > { > > $cof=array(76.18009173,-86.50532033,24.01409822, > > -1.231739516,0.120858003e-2,-0.536382e-5); > > $x=$xx-1.0; > $tmp=$x+5.5; > $tmp -= ($x+0.5)*log($tmp); > $ser=1.0; > for ($j=0;$j<=5;$j++) { > $x += 1.0; > $ser += $cof[$j]/$x; > } > return -$tmp+log(2.50662827465*$ser); > } > > function gser( &$gamser, $a, $x, &$gln) > { > > $gln=gammln($a); > if ($x <= 0.0) { > if ($x < 0.0) echo "x less than > 0 in routine GSER"; > $gamser=0.0; > return; > } else { > $ap=$a; > $sum=1.0/$a; > $del=$sum; > for ($n=1;$n<=ITMAX;$n++) { > $ap += 1.0; > $del *= $x/$ap; > $sum += $del; > if (abs($del) < > abs($sum)*EPS) { > > $gamser=$sum*exp(-$x+$a*log($x)-($gln)); > return; > } > } > echo "a=$a too large, ITMAX = > $itmax too small in routine GSER > "; > return; > } > } > > > function gcf( &$gammcf,$a,$x,&$gln) > { > $gold=0.0; > $fac=1.0; > $b1=1.0; > $b0=0.0; > $a0=1.0; > > $gln=gammln($a); > $a1=$x; > for ($n=1;$n<=ITMAX;$n++) { > $an=(double) $n; > $ana=$an-$a; > $a0=($a1+$a0*$ana)*$fac; > $b0=($b1+$b0*$ana)*$fac; > $anf=$an*$fac; > $a1=$x*$a0+$anf*$a1; > $b1=$x*$b0+$anf*$b1; > if ($a1) { > $fac=1.0/$a1; > $g=$b1*$fac; > if (abs(($g-$gold)/$g) > < EPS) { > > $gammcf=exp(-$x+$a*log($x)-($gln))*$g; > return; > } > $gold=$g; > } > } > echo "a too large, ITMAX too small in routine > GCF > "; > } > function gammp($a,$x) > { > > if ($x < 0.0 || $a <= 0.0) { > echo "Invalid arguments in routine > GAMMP > "; > return 0.; > } > if ($x < ($a+1.0)) { > gser($gamser,$a,$x,$gln); > return $gamser; > } else { > gcf($gammcf,$a,$x,$gln); > return 1.0-$gammcf; > } > } > > function gammq($a,$x) > { > > if ($x < 0.0 || $a <= 0.0) echo "Invalid > arguments in routine GAMMQ > "; > if ($x < ($a+1.0)) { > gser($gamser,$a,$x,$gln); > return 1.0-$gamser; > } else { > gcf($gammcf,$a,$x,$gln); > return $gammcf; > } > } > function erfc($x) > { > > return $x < 0.0 ? 1.0+gammp(0.5,$x*$x) : > gammq(0.5,$x*$x); > } > function erf($x) > { > > return $x < 0.0 ? -gammp(0.5,$x*$x) : > gammp(0.5,$x*$x); > } > function myerf($argin) { > return .5*(1.+erf($argin/sqrt(2.0))); > } > > ?> > > <form action="new_black_scholes.php" method="post"> > <p> > Black Scholes Option Price Calculator: > > temp website under Redhat Fedora 9 > Linux: > > the first 5 boxes require input(try 100. > 100. .12 .1 365.): > > </p> > <p> > StockPrice (required): > > <input type="text" size="20" maxlength="40" > name="StockPrice" > value="<?php echo $StockPrice; > ?>" /> > </p> > <p> > ExercisePrice (required): > > <input type="text" size="20" maxlength="40" > name="ExercisePrice" > value="<?php echo $ExercisePrice; ?>" > /> > </p> > <p> > Risk Free Rate of Interest(required): > > <input type="text" size="20" maxlength="40" > name="RiskFreeRateInterest" > value="<?php echo $RiskFreeRateInterest; > ?>" /> > </p> > <p> > Instantaneous Variance Rate of Stock's Return > (required): > > <input type="text" size="20" maxlength="40" > name="InstantaneousVarianceRateStocksReturn" > value="<?php echo > $InstantaneousVarianceRateStocksReturn; ?>" /> > </p> > <p> > Time to Expiration of the Option(days) > (required): > > <input type="text" size="20" maxlength="40" > name="TimetoExpirationOption" > value="<?php echo $TimetoExpirationOption; > ?>" /> > </p> > <p> > Values of the Call Option : > > <input type="text" size="20" > maxlength="40" name="ValueCallOption" > VALUE="<?php echo $ValueCallOption; > ?>" /> > </p> > </p> > <p> > Values of the Put option : > > <input type="text" size="20" > maxlength="40" name="ValuePutOption" > VALUE="<?php echo $ValuePutOption; > ?>" /> > </p> > <p> > Delta(calls): > > <input type="text" size="20" > maxlength="40" name="DeltaCalls" > VALUE="<?php echo $DeltaCalls; > ?>" /> > </p> > <p> > Delta(puts): > > <input type="text" size="20" > maxlength="40" name="DeltaPuts" > VALUE="<?php echo $DeltaPuts; > ?>" /> > </p> > <button type="submit" name = "submit" > value="Calculate!" > style="color:maroon font:18pt Courier; > font-weight:bold ">Calculate > </button> > <button type="submit" name = "reset" > value="Demo!" > style="color:red font:18pt Courier; font-weight:bold > ">Demo > </button> > </form> > > _________________________________________________________results > > Please try the following: > > Open the 207.254.225.224:8080 home page, and then look for > links to the information you want. > Click the Refresh button, or try again later. > > HTTP 403.1 Forbidden: Execute Access Forbidden > Internet Information Services > > -------------------------------------------------------------------------------- > > Technical Information (for support personnel) > > > Background: > You have attempted to execute a CGI, ISAPI, or other > executable program from a directory that does not allow > programs to be executed. > > > More information: > Microsoft Support > ____________________________________________ > http://207.254.225.224:8080/handle_log_book_mssql.php > yields: > > Warning: mssql_connect() [function.mssql-connect]: Unable > to connect to server: LANDON\SQLEXPRESSLMKIII in > C:\Inetpub\wwwroot\handle_log_book_mssql.php on line 8 > (mssql_connect(...) > Something went wrong while connecting to MSSQL (my > message) > _______________________________________________________ > all these worked before trying 5.3 > > > > > > > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php